Latest web development tutorials

C#の文字列(String)を

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

Stringオブジェクトの作成

あなたは、文字列オブジェクトを作成するには、次のいずれかの方法を使用することができます。

  • 文字列変数で文字列を指定します
  • Stringクラスのコンストラクタを使用することにより
  • 文字列連結演算子(+)を用いて
  • プロパティを取得することにより、または文字列を返すメソッドを呼び出します
  • その文字列表現に値またはオブジェクトを変換する方法をフォーマットすることにより、

次の例では、この点を示しています。

システムを用いました。

名前空間のStringApplication
{
    クラスプログラム
    {
        静的な無効メイン(文字列[] args)
        {
           //文字列、文字列の連結文字列fnameに、LNAME。
            FNAME = "ナナカマド";
            LNAME = "アトキンソン";

            文字列フルネーム= fnameは+ LNAME。
            Console.WriteLineを( "フルネーム:{0}"、フルネーム)。

            //文字列のコンストラクタ文字を使用することにより、[]の文字= { 'H'、 'E'、 'L'、 'L'、 'O'};
            文字列の挨拶=新しい文字列(文字);
            Console.WriteLineを( "挨拶:{0}"、挨拶)。

            //メソッドが返す文字列string [] sarray = { "こんにちは"、 "チュートリアル"、 "ポイント" "から"};
            文字列メッセージ= String.Join( ""、sarray)。
            Console.WriteLineを( "メッセージ:{0}"、メッセージ)。

            //変換するための方法をフォーマットするのDateTime待機=新しいのDateTime(2012、10、10、17、58、1)値。
            文字列チャット= String.Formatの( "{0:トン}で送信されたメッセージ{0:D}に"、 
            )待っています。
            Console.WriteLineを( "メッセージ:{0}"、チャット)。
            Console.ReadKey()。
        }
    }
}

上記のコードはコンパイルされ、実行されると、次の結果を生成します。

フルネーム:ローワン・アトキンソン
あいさつ:こんにちは
メッセージ:チュートリアルポイントからこんにちは
メッセージ:水曜日に午後05時58分に送信されたメッセージ、2012年10月10日

プロパティStringクラス

Stringクラスには、次の2つのプロパティがあります。

序号属性名称 & 描述
1Chars
在当前String对象中获取Char对象的指定位置。
2Length
在当前的String对象中获取字符数。

Stringクラスのメソッド

Stringクラスは、オペレーティング・文字列オブジェクトのための多くの方法があります。 次の表は、最も一般的な方法のいくつかを提供しています。

序号方法名称 & 描述
1public static int Compare( string strA, string strB )
比较两个指定的 string 对象,并返回一个表示它们在排列顺序中相对位置的整数。该方法区分大小写。
2public static int Compare( string strA, string strB, bool ignoreCase )
比较两个指定的 string 对象,并返回一个表示它们在排列顺序中相对位置的整数。但是,如果布尔参数为真时,该方法不区分大小写。
3public static string Concat( string str0, string str1 )
连接两个 string 对象。
4public static string Concat( string str0, string str1, string str2 )
连接三个 string 对象。
5public static string Concat( string str0, string str1, string str2, string str3 )
连接四个 string 对象。
6public bool Contains( string value )
返回一个表示指定 string 对象是否出现在字符串中的值。
7public static string Copy( string str )
创建一个与指定字符串具有相同值的新的 String 对象。
8public void CopyTo( int sourceIndex, char[] destination, int destinationIndex, int count )
从 string 对象的指定位置开始复制指定数量的字符到 Unicode 字符数组中的指定位置。
9public bool EndsWith( string value )
判断 string 对象的结尾是否匹配指定的字符串。
10public bool Equals( string value )
判断当前的 string 对象是否与指定的 string 对象具有相同的值。
11public static bool Equals( string a, string b )
判断两个指定的 string 对象是否具有相同的值。
12public static string Format( string format, Object arg0 )
把指定字符串中一个或多个格式项替换为指定对象的字符串表示形式。
13public int IndexOf( char value )
返回指定 Unicode 字符在当前字符串中第一次出现的索引,索引从 0 开始。
14public int IndexOf( string value )
返回指定字符串在该实例中第一次出现的索引,索引从 0 开始。
15public int IndexOf( char value, int startIndex )
返回指定 Unicode 字符从该字符串中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。
16public int IndexOf( string value, int startIndex )
返回指定字符串从该实例中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。
17public int IndexOfAny( char[] anyOf )
返回某一个指定的 Unicode 字符数组中任意字符在该实例中第一次出现的索引,索引从 0 开始。
18public int IndexOfAny( char[] anyOf, int startIndex )
返回某一个指定的 Unicode 字符数组中任意字符从该实例中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。
19public string Insert( int startIndex, string value )
返回一个新的字符串,其中,指定的字符串被插入在当前 string 对象的指定索引位置。
20public static bool IsNullOrEmpty( string value )
指示指定的字符串是否为 null 或者是否为一个空的字符串。
21public static string Join( string separator, params string[] value )
连接一个字符串数组中的所有元素,使用指定的分隔符分隔每个元素。
22public static string Join( string separator, string[] value, int startIndex, int count )
连接接一个字符串数组中的指定位置开始的指定元素,使用指定的分隔符分隔每个元素。
23public int LastIndexOf( char value )
返回指定 Unicode 字符在当前 string 对象中最后一次出现的索引位置,索引从 0 开始。
24public int LastIndexOf( string value )
返回指定字符串在当前 string 对象中最后一次出现的索引位置,索引从 0 开始。
25public string Remove( int startIndex )
移除当前实例中的所有字符,从指定位置开始,一直到最后一个位置为止,并返回字符串。
26public string Remove( int startIndex, int count )
从当前字符串的指定位置开始移除指定数量的字符,并返回字符串。
27public string Replace( char oldChar, char newChar )
把当前 string 对象中,所有指定的 Unicode 字符替换为另一个指定的 Unicode 字符,并返回新的字符串。
28public string Replace( string oldValue, string newValue )
把当前 string 对象中,所有指定的字符串替换为另一个指定的字符串,并返回新的字符串。
29public string[] Split( params char[] separator )
返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。
30public string[] Split( char[] separator, int count )
返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。int 参数指定要返回的子字符串的最大数目。
31public bool StartsWith( string value )
判断字符串实例的开头是否匹配指定的字符串。
32public char[] ToCharArray()
返回一个带有当前 string 对象中所有字符的 Unicode 字符数组。
33public char[] ToCharArray( int startIndex, int length )
返回一个带有当前 string 对象中所有字符的 Unicode 字符数组,从指定的索引开始,直到指定的长度为止。
34public string ToLower()
把字符串转换为小写并返回。
35public string ToUpper()
把字符串转换为大写并返回。
36public string Trim()
移除当前 String 对象中的所有前导空白字符和后置空白字符。

上記のリストの方法は網羅的なものではなく、メソッドおよびStringクラスのコンストラクターの完全なリストについては、MSDNライブラリを参照してください。

次の例では、上記の方法のいくつかを示しています。

文字列を比較

システムを用いました。

名前空間のStringApplication
{
   クラスStringProg
   {
      静的な無効メイン(文字列[] args)
      {
         文字列STR1 = "これはテストです";
         文字列STR2 = "これはテキストです";

         場合(String.Compare(STR1、STR2)== 0)
         {
            Console.WriteLineを(STR1 + "と" + str2の+ "等しいです。");
         }
         ほかに
         {
            Console.WriteLineを(STR1 + "と" + str2の+ "等しくありません。");
         }
         Console.ReadKey()。
      }
   }
}

上記のコードはコンパイルされ、実行されると、次の結果を生成します。

これはテストですとこれが等しくないテキストです。

文字列は、文字列が含まれています:

システムを用いました。

名前空間のStringApplication
{
   クラスStringProg
   {
      静的な無効メイン(文字列[] args)
      {
         文字列strは= "これはテストです";
         (str.Contains( "テスト"))の場合
         {
            Console.WriteLineを( "シーケンス 'テスト'が発見されました。");
         }
         Console.ReadKey()。
      }
   }
}

上記のコードはコンパイルされ、実行されると、次の結果を生成します。

シーケンス 'テスト'が見つかりました。

部分文字列を取得します。

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() ; 
		} 
	} 
}

実行中のインスタンス»

上記のコードはコンパイルされ、実行されると、次の結果を生成します。

昨夜、私はサンペドロの夢を見
サンペドロ

接続文字列:

システムを用いました。

名前空間のStringApplication
{
   クラスStringProg
   {
      静的な無効メイン(文字列[] args)
      {
         文字列[] starray =新しい文字列[] { "夜が暗い道ダウン」、
         "そして太陽が山の頂上に毎日照らします」、
         「私は帆船に旅行をしました」、
         「そして、私はジャマイカに達したとき」、
         } "私は停止しました」。

         文字列str = String.Join( "の\ n"、starray)。
         Console.WriteLineを(文字列);
         Console.ReadKey()。
      }
   }
}

上記のコードはコンパイルされ、実行されると、次の結果を生成します。

夜は暗い道ダウン
そして、太陽が山の頂上に毎日輝きます
私は帆船に旅行をしました
そして、私はジャマイカに達したとき
私は停止しました