C# チュートリアルlogin
C# チュートリアル
著者:php.cn  更新時間:2022-04-11 14:06:23

C# 文字列



C# では、文字配列を使用して文字列を表すことができますが、string キーワードを使用して文字列変数を宣言する方が一般的です。 string キーワードは、System.String クラスのエイリアスです。

String オブジェクトの作成

次のいずれかの方法を使用して文字列オブジェクトを作成できます:

  • String 変数に文字列を割り当てる方法

  • String クラス コンストラクターを使用する方法

  • を使用する方法文字列 連結演算子 ( + )

  • プロパティを取得するか、文字列を返すメソッドを呼び出すことにより、値またはオブジェクトをその文字列表現に変換します

  • 書式設定メソッドを介して値またはオブジェクトをその文字列表現に変換します

以下の例 これを取得しました:

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 クラスには次の 2 つの属性があります:

シリアル番号属性名と説明
1Chars
現在のStringオブジェクト内のCharオブジェクトの指定された位置を取得します。
2Length
現在の String オブジェクトの文字数を取得します。

Stringクラスのメソッド

Stringクラスには、文字列オブジェクトを操作するためのメソッドが多数あります。以下の表は、最も一般的な方法のいくつかを示しています:

シリアル番号メソッド名と説明
1public static int Compare( 文字列 strA、 文字列 strB )
指定された 2 つの文字列オブジェクトを比較し、並べ替え順での相対位置を表す整数を返します。このメソッドでは大文字と小文字が区別されます。
2public static int Compare( 文字列 strA、 文字列 strB、 bool 無視ケース )
指定された 2 つの文字列オブジェクトを比較し、並べ替え順での相対位置を表す整数を返します。ただし、ブール引数が true の場合、メソッドでは大文字と小文字が区別されません。
3public static string Concat( 文字列 str0、 文字列 str1 )
2 つの文字列オブジェクトを連結します。
4public static string Concat( 文字列 str0、 文字列 str1、 文字列 str2 )
3 つの文字列オブジェクトを連結します。
5public static string Concat( 文字列 str0、 文字列 str1、 文字列 str2、 文字列 str3 )
4 つの文字列オブジェクトを連結します。
6public bool が含まれます( 文字列値 )
指定された文字列オブジェクトが文字列内に出現するかどうかを示す値を返します。
7public static string Copy( 文字列 str )
指定された文字列と同じ値を持つ新しい String オブジェクトを作成します。
8public void CopyTo( int ソースインデックス、 char[] 宛先、 int destinationIndex、 整数カウント )
文字列オブジェクトの指定された位置から始まる指定された数の文字を、Unicode 文字配列内の指定された位置にコピーします。
9public bool EndsWith( 文字列値 )
文字列オブジェクトの末尾が指定された文字列と一致するかどうかを判断します。
10public bool Equals( 文字列値 )
現在の文字列オブジェクトが指定された文字列オブジェクトと同じ値を持つかどうかを判断します。
11public static bool Equals( 文字列 a、 文字列b )
指定された 2 つの文字列オブジェクトが同じ値を持つかどうかを判断します。
12public static string Format( 文字列形式、 オブジェクト引数0 )
指定された文字列内の 1 つ以上の書式項目を、指定されたオブジェクトの文字列表現に置き換えます。
13public int IndexOf( 文字値 )
現在の文字列内で指定された Unicode 文字が最初に出現するインデックスを 0 から返します。
14public int IndexOf( 文字列値 )
このインスタンス内で指定された文字列が最初に出現するインデックスを 0 から返します。
15public int IndexOf( 文字値、 int startIndex )
この文字列内で指定された Unicode 文字が最初に出現する位置のインデックスを返します。指定された文字位置から始まり、0 から始まります。
16public int IndexOf( 文字列値、 int startIndex )
このインスタンス内の指定された文字位置から始まる指定された文字列の最初の出現のインデックスを返します。インデックスは 0 から始まります。
17public int IndexOfAny( char[] 任意の )
このインスタンスで指定された Unicode 文字配列内で最初に出現した文字のインデックスを返します。インデックスは 0 から始まります。
18public int IndexOfAny( char[] 任意の、 int startIndex )
インスタンス内の指定された文字位置から始まる、指定された Unicode 文字配列内の任意の文字の最初の出現のインデックスを返します。インデックスは 0 から始まります。
19public string Insert( int startIndex、 文字列値 )
現在の文字列オブジェクトの指定されたインデックスに指定された文字列が挿入された新しい文字列を返します。
20public static bool IsNullOrEmpty( 文字列値 )
指定された文字列が null か空の文字列かを示します。
21public static string Join( 文字列区切り文字、 params string[] 値 )
文字列配列内のすべての要素を連結し、指定された区切り文字を使用して各要素を区切ります。
22public static string Join( 文字列区切り文字、 文字列[]値、 int startIndex、 整数カウント )
各要素を区切るために指定された区切り文字を使用して、文字列配列内の指定された位置から始まる指定された要素を連結します。
23public int LastIndexOf( 文字値 )
現在の文字列オブジェクト内で指定された Unicode 文字が最後に出現するインデックス位置を返します。インデックスは 0 から始まります。
24public int LastIndexOf( 文字列値 )
現在の文字列オブジェクト内で指定された文字列が最後に出現するインデックス位置を返します。インデックスは 0 から始まります。
25public string Remove( int startIndex )
現在のインスタンス内の指定された位置から最後の位置までのすべての文字を削除し、文字列を返します。
26public string Remove( int startIndex、 整数カウント )
現在の文字列の指定された位置から指定された数の文字を削除し、文字列を返します。
27public string Replace( 古いChar、 文字新しい文字 )
現在の文字列オブジェクト内の指定されたすべての Unicode 文字を別の指定された Unicode 文字に置き換え、新しい文字列を返します。
28public string Replace( 文字列oldValue、 文字列 newValue )
現在の文字列オブジェクト内の指定されたすべての文字列を別の指定された文字列に置き換え、新しい文字列を返します。
29public string[] Split( params char[] 区切り文字 )
指定された Unicode 文字配列の要素で区切られた、現在の文字列オブジェクトの部分文字列を含む文字列配列を返します。
30public string[] Split( char[] 区切り文字、 整数カウント )
指定された Unicode 文字配列の要素で区切られた、現在の文字列オブジェクトの部分文字列を含む文字列配列を返します。 int パラメータは、返される部分文字列の最大数を指定します。
31public bool StartsWith( 文字列値 )
文字列インスタンスの先頭が指定された文字列と一致するかどうかを判断します。
32public char[] ToCharArray()
現在の文字列オブジェクト内のすべての文字を含む Unicode 文字配列を返します。
33public char[] ToCharArray( int startIndex、 整数の長さ )
現在の文字列オブジェクト内の、指定されたインデックスから始まり指定された長さで終わるすべての文字を含む Unicode 文字配列を返します。
34public string ToLower()
文字列を小文字に変換して返します。
35public string ToUpper()
文字列を大文字に変換して返します。
36public 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.

文字列には String が含まれます:

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 Example] ボタンをクリックします。オンラインの例を表示するには


上記のコードがコンパイルされて実行されると、次の結果が生成されます:

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中国語ウェブサイト