C\#중 char 와 string 의 입문 사용 강좌

10301 단어 c#charstring
char 문자
char 는 유 니 코드 문 자 를 대표 합 니 다.System.Char 의 별명 입 니 다.

char someChar = 'a';//       
char newLine= '
';//
 System.Char 는 정적 방법 을 정의 합 니 다.
  • ToUpper 는 지정 한 문 자 를 같은 효 과 를 가 진 대문자 형식
  • 으로 변환 합 니 다.
  • ToLower 에서 지정 한 문 자 를 같은 효 과 를 가 진 소문 자 형식
  • 으로 변환 합 니 다.
  • IsWhiteSpace 에서 지정 한 문자 가 공백 문자 인지 판단 합 니 다
  • ……
  • 예:
    
    Console.WriteLine(char.ToUpper('c'));//         C
    Console.WriteLine(char.ToLower('c'));//         
    Console.WriteLine(char.ToUpper('C'));//         
    Console.WriteLine(char.ToLower('C'));//         c
    Console.WriteLine(char.IsWhiteSpace('c'));//   False
    Console.WriteLine(char.IsWhiteSpace('\t'));//   True
    Console.WriteLine(char.IsWhiteSpace(' '));//   True
    char 나 System.Char 를 통 해 호출 할 수 있 습 니 다.
    예:
    
    Console.WriteLine(char.ToUpper('c'));//         C
    Console.WriteLine(System.Char.ToUpper('c'));//         C
    지금 여기에 문제 가 있 을 수 있 습 니 다.bug 를 일 으 킬 수 있 습 니 다.바로 ToUpper 입 니 다.ToLower 는 사용자 의 지역 설정 을 따 릅 니 다.예 를 들 어 char.ToUpper('i')='I'라 는 말 은 터키 지역 설정 에서 False 로 돌아 갑 니 다.
    해결책 은 culture-invariant 버 전 을 사용 하 는 방법 으로 항상 영어 의 Culture 를 활용 하 는 것 이다.
  • ToUpperInvariant
  • ToLowerInvariant
  • 예:
    
    //             ,          ,           
    Console.WriteLine(char.ToUpperInvariant('i'));//       I
    Console.WriteLine(char.ToUpper('i', CultureInfo.InvariantCulture));
    char 는 16bit 로 기본 다 중 언어 평면 을 대표 하 는 모든 유 니 코드 문자 입 니 다.이 범 위 를 넘 으 면 surrogate pairs 를 사용 해 야 합 니 다. 
    string 문자열
  • string 은 System.String 의 별명
  • 입 니 다.
  • string 은 가 변 적 이지 않 은
  • 이다.
  • string 은 문자 의 시퀀스 입 니 다.
  • 어떻게 string 을 구축 합 니까?
    예:
    
    string s1 = "Hello";
    string s2 = "First Line\r
    Second Line"; string s3 = @\\server\fileshare\helloworld.cs;
    중 복 된 문자열 만 들 기
    string 의 구조 함 수 를 사용 하여 지정 한 횟수 를 반복 하 는 문자열 을 만 듭 니 다.
    예:
    
    Console.WriteLine(new string('*', 10));//       **********
    char 배열 에서 문자열 을 만 들 수 있 습 니 다.
    예:
    
    char[] ca = "Hello".ToCharArray();
    string s = new string(ca);
    ToCharArray 의 역할 은 정반 대로 문자열 을 문자 배열 로 변환 합 니 다.
    string 의 구조 함수 도 여러 가지(안전 하지 않 은)포인터 형식 을 받 아들 이 는 데 사 용 됩 니 다.char*와 같은 형식 으로 문자열 을 만 드 는 것 이 목적 입 니 다.
    Null 과 빈 string
    빈 string 의 길 이 는 0 입 니 다.literal 이나 string.Empty 정적 필드 를 통 해 만 듭 니 다.
    상등 성 비교 의 예:
    
    string empty = "";
    Console.WriteLine(empty == ""); // True
    Console.WriteLine(empty == string.Empty); // True
    Console.WriteLine(empty.Length == 0); // True
    string 은 null 일 수 있 습 니 다.참조 형식 이기 때 문 입 니 다.
    
    string nullString = null;
    Console.WriteLine(nullString == null); // True
    Console.WriteLine(nullString == ""); // False
    Console.WriteLine(nullString.Length == 0); // NullReferenceException
    정적 string.IsNullOrEmpty 는 문자열 이 비어 있 거나 null 인지 판단 하 는 데 사 용 됩 니 다.저 는 IsNullOrWhiteSpace 를 습관 적 으로 사용 합 니 다.이 문자열 이 비어 있 거나 null 또는 공백 문자 인지 판단 합 니 다.
    string 의 문자 에 접근 하기
    색인 기 통과
    
    string str = "abcd";
    char letter = str[1]; // letter = 'b'
    string 은 IEnumerable인 터 페 이 스 를 실현 하기 때문에 foreach 안의 모든 요 소 를 사용 할 수 있 습 니 다.
    
    //         1 、2 、3
    foreach (var item in "123")
    {
     Console.WriteLine(item);
    }
    string 에서 검색 하기
    가장 쉬 운 방법 은 StartsWith,EndsWith,Contains 를 포함한다.트 루 나 false 로 돌 아 왔 습 니 다.
    
    Console.WriteLine("HelloWorld.cs".EndsWith(".cs")); //      True
    Console.WriteLine("HelloWorld.cs".Contains("World")); //      True
    Console.WriteLine("HelloWorld.cs".EndsWith(".CS")); //      False
    Console.WriteLine("HelloWorld.cs".Contains("world")); //      False
    StartsWith,Ends With 의 리 셋 방법 은 대소 문자 와 지역 문화 의 민감 성 을 제어 하기 위해 String Comparison 매 거 진 또는 Culture Info 대상 을 지정 할 수 있 습 니 다.기본 값 은 현재 로 컬 화 된 지역 설정(locale)을 사용 하고 대소 문 자 를 구분 합 니 다.
    
    Console.WriteLine("HelloWorld.cs".StartsWith("hello", StringComparison.InvariantCultureIgnoreCase)); //      True
    Contains 는 비슷 한 리 셋 방법 을 제공 하지 않 았 지만,Index Of 방법 을 사용 할 수 있 습 니 다.검색 문자열 의 첫 번 째 위 치 를 지정 한 문자/하위 문자열 로 되 돌려 줍 니 다.
    또한,Index Of 는 초기 위치 인자(검색 을 시작 하 는 색인 값)와 String Comparison 매 거 진 을 받 을 수 있 는 리 셋 방법 을 제공 합 니 다.
    
    Console.WriteLine("abcde".IndexOf("cd")); //    2
    Console.WriteLine("abcde abcde".IndexOf("CD", 6, StringComparison.CurrentCultureIgnoreCase)); //    8
    LastIndex Of,Index Of 와 유사 하지만 역방향 검색 입 니 다.
    IndexOfAny,한 그룹의 문자 에 있 는 모든 요소 의 첫 번 째 일치 하 는 위 치 를 되 돌려 줍 니 다.
    
    Console.WriteLine("abc,de f".IndexOfAny(new char[] { ' ', ',' })); //    3
    Console.WriteLine("sdgp5jesu5fa9afe0".IndexOfAny("0123456789".ToCharArray())); //    4
    LastIndexOfAny,기능 유사,방향 반대 
    string 을 조작 하거나 제어 합 니 다.
    string 은 가 변 적 이지 않 기 때문에 모든 string 을 조작 하 는 방법 은 새로운 string 으로 되 돌아 갑 니 다.원래 string 은 그대로 있 습 니 다.
    Substring,문자열 의 일부분 을 추출 합 니 다.
    
    string left3 = "12345".Substring(0, 3); //     123
    string mid3 = "12345".Substring(1, 3); //    234
    //      ,                 
    string end3 = "12345".Substring(2); //    345
    Insert,Remove,지정 한 위치 에 문자열 을 삽입 하고 제거 합 니 다.
    
    string s1 = "helloworld".Insert(5, ","); //    hello,world
    string s2 = s1.Remove(5, 1); //    helloworld
    PadLeft,PadRight 는 지정 한 문자(지정 하지 않 으 면 빈 칸)로 string 을 채 워 서 지정 한 길이 에 도달 합 니 다.(string 의 원래 길이 가 지정 한 길이 보다 길 면 변 하지 않 습 니 다.)
    
    Console.WriteLine("12345".PadLeft(10, '*')); //       *****12345
    Console.WriteLine("12345".PadLeft(10)); //          12345
    TrimStart,TrimEnd 는 시작 이나 끝 에서 지정 한 문 자 를 제거 합 니 다.
    Trim,시작 과 끝 에 있 는 공백 문 자 를 모두 제거 합 니 다.
    
    Console.WriteLine("  abc \r
    ".Trim().Length); // 3
    Replace,지정 한 문자/문자열 을 모두 바 꿉 니 다.(겹 치지 않 음)
    
    Console.WriteLine("hello world".Replace(" ", " | ")); //    hello | world
    Console.WriteLine("hello world".Replace(" ", "")); //    helloworld
    ToUpper,ToLower,string 의 큰/소문 자 등 효과 형식 을 되 돌려 줍 니 다.기본 적 인 상황 에서 도 사용자 의 현재 언어 설정 에 따라 위의 char 방법 과 마찬가지 로 더 이상 군말 하지 않 습 니 다.
    분할,병합 문자열
    Split 방법 은 문자열 을 나 눌 수 있 습 니 다.
  • 기본 값 은 공백 을 구분자 로 사용 합 니 다
  • 재 부팅 방법 은 param 문자 배열 을 받 거나 string 을 구분자 로
  • 을 받 을 수 있 습 니 다.
  • 매개 변 수 를 매개 변수 로 선택 할 수 있 습 니 다.빈 문자열 을 제거 할 수 있 는 옵션 이 있 습 니 다.
  • 
    string[] words = "my name is bob".Split();
    //        my name is bob    
    foreach (var item in words)
    {
      Console.WriteLine(item);
    }
    string[] split1 = "123-abc".Split('-');
    //        123 abc     
    foreach (var item in split1)
    {
      Console.WriteLine(item);
    }
    string[] split2 = "123-abc-".Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
    //        123 abc     ,          
    foreach (var item in split2)
    {
      Console.WriteLine(item);
    }
    Join(정적)방법 은 Split 와 반대로 문자열 로 통합 하 는 데 사용 되 며 구분자 와 문자열 배열 이 필요 합 니 다.
    
    string[] words = "my name is bob".Split();
    Console.WriteLine(string.Join(",", words)); //           my,name,is,bob
    Concat(정적)방법 은 Join 과 유사 하지만 params string 배열 만 매개 변수 로 받 아들 이 며 구분자 가 필요 없습니다.+의 효과 와 마찬가지 로 시작 컴 파일 러 는+로 번역 하 는 것 입 니 다.
    
    string str1 = string.Concat("hello", "world"); //    helloworld
    string str2 = "hello" + "world"; //    helloworld
    String.Format 과 복합 형식의 string
    Format(정적)방법 은 변 수 를 끼 워 넣 는 문자열 을 구축 하 는 데 편리 한 방법 을 제공 합 니 다.끼 워 넣 은 변수/값 은 모든 형식 일 수 있 습 니 다.Format 은 ToString 방법 을 호출 합 니 다.
    변 수 를 포함 하 는 string 을 복합 형식 string(coposite format string)이 라 고 합 니 다.
    String.Format 을 호출 할 때 복합 형식 string 을 입력 하고 그 안에 포 함 된 변 수 를 따라 가 야 합 니 다.
    
    string composite = "ab{0}cd{1}e";
    Console.WriteLine(string.Format(composite, "123", 456)); //    ab123cd456e
    대괄호 안에 있 는 모든 숫자 를 포맷 항목(format item)이 라 고 합 니 다.수치 에 대응 하 는 매개 변수(argument)의 위치 이 고 뒤에 따라 갈 수 있 습 니 다.
  • 개의 쉼표 와 사용 할 최소 너비(보통 정렬 에 사용 되 며,음 수 는 왼쪽 정렬 을 나타 내 고,정 수 는 오른쪽 정렬 을 나타 낸다)
  • 콜론 과 포맷 문자열(format string)
  • 
    string composite = "Name={0, -20} Credit Limit={1,15:C}";
    Console.WriteLine(string.Format(composite, "Bob", 500));
    Console.WriteLine(string.Format(composite, "Elizatech", 20000));
    결 과 는 다음 과 같다.
     
     C\#6 부터 문자열 삽입 방식(interpolated string literals)을 사용 할 수 있 습 니 다.
    
    int value = 32;
    Console.WriteLine($"abc{value}"); //   abc32
    총결산
    C\#중 char 와 string 입문 사용 튜 토리 얼 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 C\#char 와 string 사용 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기