C\#중 char 와 string 의 입문 사용 강좌
char 는 유 니 코드 문 자 를 대표 합 니 다.System.Char 의 별명 입 니 다.
char someChar = 'a';//
char newLine= '
';//
System.Char 는 정적 방법 을 정의 합 니 다.
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 를 활용 하 는 것 이다.
// , ,
Console.WriteLine(char.ToUpperInvariant('i'));// I
Console.WriteLine(char.ToUpper('i', CultureInfo.InvariantCulture));
char 는 16bit 로 기본 다 중 언어 평면 을 대표 하 는 모든 유 니 코드 문자 입 니 다.이 범 위 를 넘 으 면 surrogate pairs 를 사용 해 야 합 니 다. 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
// 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 방법 은 문자열 을 나 눌 수 있 습 니 다.
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 과 복합 형식의 stringFormat(정적)방법 은 변 수 를 끼 워 넣 는 문자열 을 구축 하 는 데 편리 한 방법 을 제공 합 니 다.끼 워 넣 은 변수/값 은 모든 형식 일 수 있 습 니 다.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)의 위치 이 고 뒤에 따라 갈 수 있 습 니 다.
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 사용 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.