ホームページ >バックエンド開発 >C#.Net チュートリアル >[C# チュートリアル] C# 文字列 (文字列)

[C# チュートリアル] C# 文字列 (文字列)

黄舟
黄舟オリジナル
2016-12-26 14:31:351382ブラウズ

C# String (String)

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

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

Full Name: Rowan Atkinson
Greetings: Hello
Message: Hello From Tutorials Point
Message: Message sent at 5:58 PM on Wednesday, October 10, 2012

String クラスの属性

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

シリアル番号

プロパティ名と説明

現在の String オブジェクト内の 1 Chars
Char オブジェクトの指定された位置を取得します。

2 Length
現在の String オブジェクトの文字数を取得します。

Stringクラスのメソッド

Stringクラスには文字列オブジェクトを操作するメソッドが多数あります。次の表は、最も一般的に使用されるメソッドの一部を示しています。

シリアル番号

メソッド名と説明

1 public static int Compare( string strA, string strB )
指定された 2 つの文字列オブジェクトを比較し、1 つの An を返しますソート順における相対位置を表す整数。このメソッドでは大文字と小文字が区別されます。

2 public static int Compare( string strA, string strB, boolignoreCase )
指定された 2 つの文字列オブジェクトを比較し、並べ替え順での相対位置を表す整数を返します。ただし、ブール引数が true の場合、メソッドでは大文字と小文字が区別されません。

3 public static string Concat( string str0, string str1 )
2 つの文字列オブジェクトを連結します。

4 public static string Concat( string str0, string str1, string str2 )
3 つの文字列オブジェクトを連結します。

5 public static string Concat( string str0, string str1, string str2, string str3 )
4 つの文字列オブジェクトを連結します。

6 public bool Contains( string value)
指定された文字列オブジェクトが文字列内に出現するかどうかを示す値を返します。

7 public static string Copy( string str )
指定された文字列と同じ値を持つ新しい String オブジェクトを作成します。

8 public void CopyTo( int sourceIndex, char[] destination, int destinationIndex, int count )
文字列オブジェクトの指定された位置から始まる指定された数の文字を、Unicode 文字配列内の指定された位置にコピーします。

9 public bool EndsWith(string value)
文字列オブジェクトの末尾が指定された文字列と一致するかどうかを判定します。

10 public bool Equals( string value)
現在の文字列オブジェクトが指定された文字列オブジェクトと同じ値を持つかどうかを判断します。

11 public static bool Equals( string a, string b )
指定された 2 つの string オブジェクトが同じ値を持つかどうかを判断します。

12 public static string Format(string format, Object arg0)
指定された文字列内の 1 つ以上の書式項目を、指定されたオブジェクトの文字列表現に置き換えます。

13 public int IndexOf( char value )
現在の文字列内で指定された Unicode 文字が最初に出現するインデックスを返します。インデックスは 0 から始まります。

14 public int IndexOf( string value )
このインスタンス内で指定された文字列が最初に出現するインデックスを返します。インデックスは 0 から始まります。

15 public int IndexOf( char value, int startIndex )
文字列内の指定された文字位置から始まる、指定された Unicode 文字の最初の出現のインデックスを返します。インデックスは 0 から始まります。

16 public int IndexOf( string value, int startIndex )
このインスタンス内の指定された文字位置から始まる指定された文字列の最初の出現のインデックスを返します。インデックスは 0 から始まります。

17    public int IndexOfAny( char[] anyOf ) 
返回某一个指定的 Unicode 字符数组中任意字符在该实例中第一次出现的索引,索引从 0 开始。    

18    public int IndexOfAny( char[] anyOf, int startIndex ) 
返回某一个指定的 Unicode 字符数组中任意字符从该实例中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。    

19    public string Insert( int startIndex, string value ) 
返回一个新的字符串,其中,指定的字符串被插入在当前 string 对象的指定索引位置。    

20    public static bool IsNullOrEmpty( string value ) 
指示指定的字符串是否为 null 或者是否为一个空的字符串。    

21    public static string Join( string separator, params string[] value ) 
连接一个字符串数组中的所有元素,使用指定的分隔符分隔每个元素。    

22    public static string Join( string separator, string[] value, int startIndex, int count ) 
链接一个字符串数组中的指定元素,使用指定的分隔符分隔每个元素。    

23    public int LastIndexOf( char value ) 
返回指定 Unicode 字符在当前 string 对象中最后一次出现的索引位置,索引从 0 开始。    

24    public int LastIndexOf( string value ) 
返回指定字符串在当前 string 对象中最后一次出现的索引位置,索引从 0 开始。    

25    public string Remove( int startIndex ) 
移除当前实例中的所有字符,从指定位置开始,一直到最后一个位置为止,并返回字符串。    

26    public string Remove( int startIndex, int count ) 
从当前字符串的指定位置开始移除指定数量的字符,并返回字符串。    

27    public string Replace( char oldChar, char newChar ) 
把当前 string 对象中,所有指定的 Unicode 字符替换为另一个指定的 Unicode 字符,并返回新的字符串。    

28    public string Replace( string oldValue, string newValue ) 
把当前 string 对象中,所有指定的字符串替换为另一个指定的字符串,并返回新的字符串。    

29    public string[] Split( params char[] separator ) 
返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。    

30    public string[] Split( char[] separator, int count ) 
返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。int 参数指定要返回的子字符串的最大数目。    

31    public bool StartsWith( string value ) 
判断字符串实例的开头是否匹配指定的字符串。    

32    public char[] ToCharArray()
返回一个带有当前 string 对象中所有字符的 Unicode 字符数组。    

33    public char[] ToCharArray( int startIndex, int length ) 
返回一个带有当前 string 对象中所有字符的 Unicode 字符数组,从指定的索引开始,直到指定的长度为止。    

34    public string ToLower()
把字符串转换为小写并返回。    

35    public string ToUpper()
把字符串转换为大写并返回。    

36    public string Trim()
移除当前 String 对象中的所有前导空白字符和后置空白字符。    

上面的方法列表并不详尽,请访问 MSDN 库,查看完整的方法列表和 String 类构造函数。

实例

下面的实例演示了上面提到的一些方法:

比较字符串

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.

获取子字符串:

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

当上面的代码被编译和执行时,它会产生下列结果:

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


 以上就是【c#教程】C# 字符串(String)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。