2016-10-16 12 views
-4

우리는 C# 인트로 클래스를 사용하므로 복잡하고 단순한 메서드와 루프를 사용하지 않습니다. 나는 우리가해야만하는이 이메일 검사 할당을 위해 문자열 메소드를 사용하는 방법에 대한 더 많은 정보를 찾고 연구하려고 노력해 왔습니다. 그러나 내가 무엇인가를 찾을 때마다, 나는 정규 표현식을 사용하게된다.C# String methods email check

문자열 메서드에 익숙하거나 단순히 코딩 경험이있는 사람이라면 올바른 방향으로 나를 시작하거나 문자열 메서드의 예제를 제공하여 캐릭터가 특정 후에 있는지 확인하는 데 도움이 될 수 있기를 바랬습니다. 또는 문자열 문자가 실제로있는 경우.

나는 IndexOf 메서드를 사용하려고 생각했지만 교수는 메서드에서 메서드를 구현하고이를 기본 메서드로 되돌려 보내는 방법을 너무 잘 보여주지 못했습니다.

시작할 수있는 좋은 곳입니까? 나는 "@"기호가 하드 코딩 된 전자 메일 주소에 있는지 여부를 확인하기 위해 IndexOf을 사용하면 색인 번호가있는 위치 나 false 인 경우 -1을 얻습니다. 어떻게 main 메소드로 리턴하는 메소드에서 사용 되는가?

+0

환영합니다! 연구하여 시작하십시오. 실험; 디버깅을하고 숙제를 제출하십시오. 잘 지내길. [ask] – MickyD

+0

문자열을 [문자 배열] (https://msdn.microsoft.com/en-us/library/2c7h58e5(v=vs.110) .aspx)로 읽으려면 [전자 메일 문법] (https://tools.ietf.org/html/rfc5322#section-3.4.1), [backtracking] (https://en.wikipedia.org/wiki/Backtracking) [알고리즘] (https : //en.wikibooks.org/wiki/Algorithms/Backtracking). 구문 분석에 대한 자세한 내용은 [Dragon Book] (https://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques,__Tools)을 참조하십시오. Algo는 [Unit Tests를위한 전자 메일 목록]을 얻습니다 (http://stackoverflow.com/questions/7641019/list-of-mock-valid-invalid-email-addresses-for-unit-tests). – Theraot

+0

도움을 주셔서 감사합니다! 나는 char 배열에 하나의 샷을 줄 것이고 그것이 어떻게 진행되는지 볼 것이다. –

답변

0

IndexOf은 존재하는 요소의 위치를 ​​반환하거나 -1 인 경우 요소의 위치를 ​​반환합니다.

if 문에 String.IsNullOrEmpty(value)을 입력하고 false을 반환하고 값이 설정되지 않은 경우 친절한 메시지를 보내도록 제안합니다. 다음으로 if 성명 내에서 IndexOf을 사용하여 '@'이 있는지 확인한 다음 value.LastIndexOf(".")을 수행하십시오. "@"가 있고 마지막 색인 값이 "."색인의 마지막 색인보다 작 으면 ... 이메일이 유효합니다.

"@"문자가 하나라도 있으면 확인할 수 있습니다. for 루프 및 카운트 값을 사용하거나 value.Toarray().where(x=>x == "@") > 1을 사용하십시오.

+0

감사합니다. –

+0

반대로 더 많은 점검이 필요합니다. 'name @@ domain @. '과 같은 전자 메일 주소는 테스트를 통과하지만 올바르지 않습니다. 1.'@ '문자를 사용하여'이메일'을'쪼개다. '그리고 나서 그 부분을 센다. 수표를 계속 사용하려면 정확히 2이어야합니다. 2. 각 부분이 점으로 시작되거나 끝나지 않도록하십시오. 'string.StartsWith'와'string.EndsWith'를 사용하십시오. 3. 서로 뒤 따르는 두 개의 점이 없는지 확인하십시오. 'IndexOf ("..")'는'-1'이어야합니다. – SollyM