C#에서는 문자 배열을 사용하여 문자열을 나타낼 수 있지만 string 키워드를 사용하여 문자열 변수를 선언하는 것이 더 일반적입니다. string 키워드는 System.String 클래스의 별칭입니다.
String 객체 생성
다음 방법 중 하나를 사용하여 문자열 객체를 생성할 수 있습니다.
String 변수에 문자열 할당
String 클래스 생성자 사용
사용 a 문자열 연결 연산자( + )
속성을 검색하거나 문자열을 반환하는 메서드를 호출하여 값이나 개체를 문자열 표현으로 변환합니다.
형식 지정 방법을 통해 값이나 개체를 문자열 표현으로 변환합니다.
아래 예:
using System;
namespace StringApplication
{
class Program
{
static void Main(string[] args)
{
//字符串,字符串连接
string fname, lname;
fname = "Rowan";
lname = "Atkinson";
string fullname = fname + lname;
Console.WriteLine("Full Name: {0}", fullname);
//通过使用 string 构造函数
char[] letters = { 'H', 'e', 'l', 'l','o' };
string greetings = new string(letters);
Console.WriteLine("Greetings: {0}", greetings);
//方法返回字符串
string[] sarray = { "Hello", "From", "Tutorials", "Point" };
string message = String.Join(" ", sarray);
Console.WriteLine("Message: {0}", message);
//用于转化值的格式化方法
DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);
string chat = String.Format("Message sent at {0:t} on {0:D}",
waiting);
Console.WriteLine("Message: {0}", chat);
Console.ReadKey() ;
}
}
}위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.
Full Name: RowanAtkinson Greetings: Hello Message: Hello From Tutorials Point Message: Message sent at 17:58 on Wednesday, 10 October 2012
String 클래스의 속성
String 클래스에는 다음 두 가지 속성이 있습니다.
| 일련 번호 | 속성 이름 및 설명 |
|---|---|
| 1 | Chars 현재 String 개체에서 Char 개체의 지정된 위치를 가져옵니다. |
| 2 | Length 현재 String 개체의 문자 수를 가져옵니다. |
문자열 클래스의 메서드
문자열 클래스에는 문자열 개체에 대해 작업을 수행하는 여러 가지 메서드가 있습니다. 아래 표에는 가장 일반적인 방법 중 일부가 나와 있습니다.
| 일련번호 | 메서드 이름 및 설명 |
|---|---|
| 1 | public static int Compare(
문자열 strA,
문자열 strB
) 지정된 두 문자열 개체를 비교하고 정렬 순서에서 상대적 위치를 나타내는 정수를 반환합니다. 이 방법은 대소문자를 구분합니다. |
| 2 | public static int 비교(
문자열 strA,
문자열 strB,
boolignoreCase
) 지정된 두 문자열 개체를 비교하고 정렬 순서에서 상대적 위치를 나타내는 정수를 반환합니다. 그러나 부울 인수가 true인 경우 메소드는 대소문자를 구분하지 않습니다. |
| 3 | 공개 정적 문자열 Concat(
문자열 str0,
문자열 str1
) 두 개의 문자열 객체를 연결합니다. |
| 4 | 공개 정적 문자열 Concat(
문자열 str0,
문자열 str1,
문자열 str2
) 세 개의 문자열 개체를 연결합니다. |
| 5 | 공개 정적 문자열 Concat(
문자열 str0,
문자열 str1,
문자열 str2,
문자열 str3
) 4개의 문자열 객체를 연결합니다. |
| 6 | public bool에는(
문자열 값
) 지정된 문자열 객체가 문자열에 나타나는지 여부를 나타내는 값을 반환합니다. |
| 7 | 공개 정적 문자열 복사(
문자열 str
) 지정된 문자열과 동일한 값을 가진 새 String 객체를 생성합니다. |
| 8 | public void CopyTo(
정수 소스 인덱스,
char[] 대상,
정수 목적지 인덱스,
정수 개수
) 문자열 객체의 지정된 위치부터 지정된 개수의 문자를 유니코드 문자 배열의 지정된 위치에 복사합니다. |
| 9 | public bool EndsWith(
문자열 값
) 문자열 개체의 끝이 지정된 문자열과 일치하는지 확인합니다. |
| 10 | public bool Equals(
문자열 값
) 현재 문자열 개체가 지정된 문자열 개체와 동일한 값을 가지고 있는지 확인합니다. |
| 11 | public static bool Equals(
문자열 a,
문자열 b
) 지정된 두 문자열 개체가 동일한 값을 갖는지 확인합니다. |
| 12 | 공개 정적 문자열 형식(
문자열 형식,
개체 인수0
) 지정된 문자열에 있는 하나 이상의 형식 항목을 지정된 개체의 문자열 표현으로 바꿉니다. |
| 13 | public int IndexOf(
문자 값
) 현재 문자열에서 지정된 유니코드 문자가 처음 나타나는 인덱스를 0부터 반환합니다. |
| 14 | public int IndexOf(
문자열 값
) 이 인스턴스에서 지정된 문자열이 처음 나타나는 인덱스를 0부터 반환합니다. |
| 15 | public int IndexOf(
문자 값,
int startIndex
) 이 문자열에서 지정된 유니코드 문자가 처음 나타나는 인덱스를 반환합니다. 지정된 문자 위치에서 시작하여 0부터 시작합니다. |
| 16 | public int IndexOf(
문자열 값,
int startIndex
) 이 인스턴스의 지정된 문자 위치에서 시작하여 지정된 문자열이 처음 나타나는 인덱스를 반환합니다. |
| 17 | public int IndexOfAny(
문자[] 임의의
) 이 인스턴스의 지정된 유니코드 문자 배열에서 문자가 처음 나타나는 인덱스를 반환합니다. |
| 18 | public int IndexOfAny(
char[] 임의의,
int startIndex
) 인스턴스의 지정된 문자 위치에서 시작하여 지정된 유니코드 문자 배열에서 문자가 처음 나타나는 인덱스를 반환하며, 인덱스는 0부터 시작합니다. |
| 19 | 공개 문자열 삽입(
정수 시작 인덱스,
문자열 값
) 현재 문자열 객체의 지정된 인덱스에 지정된 문자열이 삽입된 새 문자열을 반환합니다. |
| 20 | public static bool IsNullOrEmpty(
문자열 값
) 지정된 문자열이 null인지 빈 문자열인지 여부를 나타냅니다. |
| 21 | 공개 정적 문자열 Join(
문자열 구분 기호,
매개변수 문자열[] 값
) 문자열 배열의 모든 요소를 연결하고 지정된 구분 기호를 사용하여 각 요소를 구분합니다. |
| 22 | 공개 정적 문자열 Join(
문자열 구분 기호,
문자열[] 값,
정수 시작 인덱스,
정수 개수
) 각 요소를 구분하는 지정된 구분 기호를 사용하여 문자열 배열의 지정된 위치에서 시작하여 지정된 요소를 연결합니다. |
| 23 | public int LastIndexOf(
문자 값
) 현재 문자열 객체에서 지정된 유니코드 문자가 마지막으로 나타나는 인덱스 위치를 반환합니다. 인덱스는 0부터 시작합니다. |
| 24 | public int LastIndexOf(
문자열 값
) 현재 문자열 객체에서 지정된 문자열이 마지막으로 나타나는 인덱스 위치를 반환합니다. 인덱스는 0부터 시작합니다. |
| 25 | 공개 문자열 제거(
int startIndex
) 지정된 위치부터 마지막 위치까지 현재 인스턴스의 모든 문자를 제거하고 문자열을 반환합니다. |
| 26 | 공개 문자열 제거(
정수 시작 인덱스,
정수 개수
) 현재 문자열의 지정된 위치부터 지정된 개수의 문자를 제거하고 문자열을 반환합니다. |
| 27 | 공개 문자열 바꾸기(
오래된 Char,
char newChar
) 현재 문자열 객체에 지정된 모든 유니코드 문자를 지정된 다른 유니코드 문자로 바꾸고 새 문자열을 반환합니다. |
| 28 | 공개 문자열 바꾸기(
문자열 oldValue,
문자열 새값
) 현재 문자열 개체에 지정된 모든 문자열을 지정된 다른 문자열로 바꾸고 새 문자열을 반환합니다. |
| 29 | 공개 문자열[] 분할(
params char[] 구분 기호
) 지정된 유니코드 문자 배열의 요소로 구분된 현재 문자열 객체의 하위 문자열을 포함하는 문자열 배열을 반환합니다. |
| 30 | 공개 문자열[] 분할(
char[] 구분 기호,
정수 개수
) 지정된 유니코드 문자 배열의 요소로 구분된 현재 문자열 객체의 하위 문자열을 포함하는 문자열 배열을 반환합니다. int 매개변수는 반환할 최대 하위 문자열 수를 지정합니다. |
| 31 | public bool StartsWith(
문자열 값
) 문자열 인스턴스의 시작 부분이 지정된 문자열과 일치하는지 확인합니다. |
| 32 | public char[] ToCharArray() 현재 문자열 객체의 모든 문자가 포함된 유니코드 문자 배열을 반환합니다. |
| 33 | 공개 문자[] ToCharArray(
정수 시작 인덱스,
정수 길이
) 현재 문자열 객체의 모든 문자가 포함된 유니코드 문자 배열을 반환하며, 지정된 인덱스에서 시작하여 지정된 길이로 끝납니다. |
| 34 | public string ToLower() 문자열을 소문자로 변환하여 반환합니다. |
| 35 | 공용 문자열 ToUpper() 문자열을 대문자로 변환하여 반환합니다. |
| 36 | public string Trim() 현재 String 객체에서 모든 선행 및 후행 공백 문자를 제거합니다. |
위 메서드 목록은 완전한 것이 아닙니다. 전체 메서드 목록과 String 클래스 생성자를 보려면 MSDN 라이브러리를 방문하세요.
예제
다음 예는 위에서 언급한 방법 중 일부를 보여줍니다.
문자열 비교
using System;
namespace StringApplication
{
class StringProg
{
static void Main(string[] args)
{
string str1 = "This is test";
string str2 = "This is text";
if (String.Compare(str1, str2) == 0)
{
Console.WriteLine(str1 + " and " + str2 + " are equal.");
}
else
{
Console.WriteLine(str1 + " and " + str2 + " are not equal.");
}
Console.ReadKey() ;
}
}
}위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.
This is test and This is text are not equal.
문자열에 문자열이 포함됩니다.
using System;
namespace StringApplication
{
class StringProg
{
static void Main(string[] args)
{
string str = "This is test";
if (str.Contains("test"))
{
Console.WriteLine("The sequence 'test' was found.");
}
Console.ReadKey() ;
}
}
}위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.
The sequence 'test' was found.
하위 문자열 가져오기:
Instance
using System;
namespace StringApplication
{
class StringProg
{
static void Main(string[] args)
{
string str = "Last night I dreamt of San Pedro";
Console.WriteLine(str);
string substr = str.Substring(23);
Console.WriteLine(substr);
Console.ReadKey() ;
}
}
}Run Instance »
"예제 실행" 버튼을 클릭하세요. 온라인 예제를 보려면
위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.
Last night I dreamt of San Pedro San Pedro
연결 문자열:
using System;
namespace StringApplication
{
class StringProg
{
static void Main(string[] args)
{
string[] starray = new string[]{"Down the way nights are dark",
"And the sun shines daily on the mountain top",
"I took a trip on a sailing ship",
"And when I reached Jamaica",
"I made a stop"};
string str = String.Join("\n", starray);
Console.WriteLine(str);
Console.ReadKey() ;
}
}
}위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. 다음 결과:
Down the way nights are dark And the sun shines daily on the mountain top I took a trip on a sailing ship And when I reached Jamaica I made a stop












![PHP 실용 개발 시작하기: 빠른 PHP 생성 [중소기업 포럼]](https://img.php.cn/upload/course/000/000/035/5d27fb58823dc974.jpg)









