zhcn 编程语言 Golang Go 文件处理 非公開: C# 字符串:字符串

C# 字符串:字符串

在 C# 中,string(或 String)关键字是 System.String 类的别名,该类提供了一组用于定义和操作字符串的方法。稍后会详细介绍这一点。

1.声明和初始化字符串

您可以使用创建一个字符串

  • 将字符串分配给 String 类型变量。
  • 使用 String 类的构造函数。
  • 使用字符串连接运算符+ ;
  • 通过检索属性或调用返回字符串的方法。
  • 调用 format 方法将值或对象转换为字符串表示形式。

我们举个例子:

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        { 
            // 普通的文字列を使用して文字列変数に値を割り当てる
            string name = "IT基礎";
            // 空で初期化された文字列を宣言する
            string str1 = "Hello:" + name;
            Console.WriteLine("str1 の値は:" + str1);

            // System.String.Emptyを使用して空の文字列を定義する
            string str2 = System.String.Empty;
            Console.WriteLine("str2 の値は:" + str2);

            // System.Stringクラスを使用する
            System.String url = "https://it-kiso.com";;
            Console.WriteLine("url の値は:" + url);

            // ローカル変数(つまり、メソッドの本体内)では、varを使用して変数を定義することができる
            var temp = "C#チュートリアル";
            Console.WriteLine("temp の値は:" + temp);

            // 定数文字列を定義する
            const string str3 = "これは定数文字列です";
            Console.WriteLine("str3 の値は:" + str3);

            // 文字列のコンストラクタを使用して文字列を定義する
            char[] letters = { 'H', 'e', 'l', 'l', 'o' };
            // string[] letters = { "C","言","語"};
            string message = new string(letters);
            Console.WriteLine("message の値は:" + message);
        }
    }
} 

2. String类属性

String 类提供了两个属性,如下表所示。

属性解释
Chars[Int32]获取指定字符在字符串中的位置
Length获取当前 String 对象中的字符数(字符串长度)。
3. String类方法

String 类提供了许多处理字符串的方法。下表列出了 String 类中一些常用的方法。

方法解释
Clone()返回对此 String 实例的引用
Compare(String, String)比较两个指定的 String 对象并返回一个整数,指示它们在排序顺序中的相对位置。
CompareOrdinal(String, String)通过比较每个字符串中的字符来比较两个字符串是否相等。
CompareTo(String)将一个字符串与另一个字符串进行比较
Concat(String, String)连接两个指定的字符串
Contains(String)判断一个字符串是否包含0和1的字符串
Copy(String)复制一个字符串值并将其分配给另一个字符串
CopyTo(Int32, Char[], Int32, Int32)将指定数量的字符从字符串复制到字符数组。
EndsWith(String)用于判断字符串是否以指定字符串结尾
Equals(String, String)检查两个字符串是否相等
Format(String, Object)将字符串格式化为指定的字符串表示形式
GetEnumerator()返回一个迭代该字符串中每个字符的对象。
GetHashCode()返回该字符串的哈希码
GetType()获取当前实例的类型
GetTypeCode()返回字符串的类型代码
IndexOf(String)返回字符串中字符第一次出现的从零开始的索引。
Insert(Int32, String)在字符串中的指定位置插入另一个字符串并返回新形成的字符串。
Intern(String)返回指定字符串的内存地址。
IsInterned(String)返回指定字符串的内存地址。
IsNormalized()判断该字符串是否符合Unicode标准
IsNullOrEmpty(String)确定指定的字符串是空 (null) 还是空字符串 (“”)。
IsNullOrWhiteSpace(String)确定指定的字符串是否为 null、空或仅由空格字符组成
Join(String, String[])连接字符串数组中的所有元素,并使用指定的分隔符分隔每个元素。
LastIndexOf(Char)获取字符串中最后一个字符的位置
LastIndexOfAny(Char[])获取字符串中一个或多个字符最后一次出现的位置
Normalize()返回与原始字符串具有相同值的新字符串,但其二进制表示形式符合 Unicode 标准。
PadLeft(Int32)返回指定长度的新字符串。新字符串填充原始字符串左侧的空格,右对齐,达到指定的长度。
PadRight(Int32)返回指定长度的新字符串。新字符串左对齐并向右填充空格至指定长度。
Remove(Int32)返回指定长度的新字符串,并删除字符串中超过该长度的所有部分。
Replace(String, String)将字符串中的字符替换为指定字符并返回新形成的字符串。
Split(Char[])根据分隔符将字符串拆分为字符串数组。
StartsWith(String)确定字符串是否以指定字符串开头
Substring(Int32)从指定位置提取字符串
ToCharArray()将字符串中的字符复制到 Unicode 字符数组。
ToLower()将字符串中的字符转换为小写
ToLowerInvariant()使用固定区域性大小写规则将字符串转换为小写。
ToString()将其他数据类型转换为字符串类型
ToUpper()将字符串中的字符转换为大写
Trim()从字符串中删除前导和尾随空白字符
TrimEnd(Char[])删除字符串末尾的空格
TrimStart(Char[])删除字符串开头的空格

上表只列出了String类中几个常用的方法。关于String类所有方法的概述,请参考C#官方文档

下面是一些示例,展示了如何使用 String 类的方法。

[示例] 比较两个字符串,看它们是否相同。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        { 
            string str1 = "https://it-kiso.com/";
            string str2 = "it-kiso.com";
            if (String.Compare(str1, str2) == 0) {
                Console.WriteLine(str1 + " と " + str2 + " は同じです");
            } else {
                Console.WriteLine(str1 + " と " + str2 + " は異なります");
            }
            Console.ReadKey();
        }
    }
} 

[示例] 判断一个字符串是否包含在另一个字符串中。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        { 
            string str1 = "https://it-kiso.com/";
            string str2 = "kiso";
        
            if (str1.Contains(str2)) {
                Console.WriteLine(str1 + " 中に " + str2 + " が含まれています。");
            }else{
                Console.WriteLine(str1 + " 中に " + str2 + " が含まれていません。");
            }
            Console.ReadKey();
        }
    }
} 

【示例】从字符串中提取指定长度的字符串。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        { 
            string str = "https://it-kiso.com/";

            Console.WriteLine("元の文字列:" + str);
            string substr = str.Substring(7);
            Console.WriteLine("切り取られた文字列:" + substr);
        }
    }
} 

操作的结果将是:

元の文字列:https://it-kiso.com/
切り取られた文字列:it-kiso.com/

[示例] 将数组中的元素组合成字符串。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        { 
            string[] strarray = new string[]{
                "IT基礎",
                "https://it-kiso.com/",
                "C# チュートリアル"
            };

            string str = String.Join(" ", strarray);
            Console.WriteLine(str);
        }
    }
} 

操作的结果将是:

IT基礎 https://it-kiso.com/ C# チュートリアル

《C# string: string》通俗易懂的解释!您必须观看的 2 个最佳视频

【プログラミング講座(C#)】第11回 文字と文字列の違いについて【独り言】
https://www.youtube.com/watch?v=2Hbo05hsxRw&pp=ygUdQyMg5paH5a2X5YiXOiDmloflrZfliJcmaGw9SkE%3D
在 C# 中,string(或 String)关键字是 System.String 类的别名,该类提供了一组用于定义和操作字符串的方法。稍后会详细介绍这一点。

1.声明和初始化字符串

您可以使用创建一个字符串

  • 将字符串分配给 String 类型变量。
  • 使用 String 类的构造函数。
  • 使用字符串连接运算符+ ;
  • 通过检索属性或调用返回字符串的方法。
  • 调用 format 方法将值或对象转换为字符串表示形式。

我们举个例子:

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        { 
            // 普通的文字列を使用して文字列変数に値を割り当てる
            string name = "IT基礎";
            // 空で初期化された文字列を宣言する
            string str1 = "Hello:" + name;
            Console.WriteLine("str1 の値は:" + str1);

            // System.String.Emptyを使用して空の文字列を定義する
            string str2 = System.String.Empty;
            Console.WriteLine("str2 の値は:" + str2);

            // System.Stringクラスを使用する
            System.String url = "https://it-kiso.com";;
            Console.WriteLine("url の値は:" + url);

            // ローカル変数(つまり、メソッドの本体内)では、varを使用して変数を定義することができる
            var temp = "C#チュートリアル";
            Console.WriteLine("temp の値は:" + temp);

            // 定数文字列を定義する
            const string str3 = "これは定数文字列です";
            Console.WriteLine("str3 の値は:" + str3);

            // 文字列のコンストラクタを使用して文字列を定義する
            char[] letters = { 'H', 'e', 'l', 'l', 'o' };
            // string[] letters = { "C","言","語"};
            string message = new string(letters);
            Console.WriteLine("message の値は:" + message);
        }
    }
} 

2. String类属性

String 类提供了两个属性,如下表所示。

属性解释
Chars[Int32]获取指定字符在字符串中的位置
Length获取当前 String 对象中的字符数(字符串长度)。
3. String类方法

String 类提供了许多处理字符串的方法。下表列出了 String 类中一些常用的方法。

方法解释
Clone()返回对此 String 实例的引用
Compare(String, String)比较两个指定的 String 对象并返回一个整数,指示它们在排序顺序中的相对位置。
CompareOrdinal(String, String)通过比较每个字符串中的字符来比较两个字符串是否相等。
CompareTo(String)将一个字符串与另一个字符串进行比较
Concat(String, String)连接两个指定的字符串
Contains(String)判断一个字符串是否包含0和1的字符串
Copy(String)复制一个字符串值并将其分配给另一个字符串
CopyTo(Int32, Char[], Int32, Int32)将指定数量的字符从字符串复制到字符数组。
EndsWith(String)用于判断字符串是否以指定字符串结尾
Equals(String, String)检查两个字符串是否相等
Format(String, Object)将字符串格式化为指定的字符串表示形式
GetEnumerator()返回一个迭代该字符串中每个字符的对象。
GetHashCode()返回该字符串的哈希码
GetType()获取当前实例的类型
GetTypeCode()返回字符串的类型代码
IndexOf(String)返回字符串中字符第一次出现的从零开始的索引。
Insert(Int32, String)在字符串中的指定位置插入另一个字符串并返回新形成的字符串。
Intern(String)返回指定字符串的内存地址。
IsInterned(String)返回指定字符串的内存地址。
IsNormalized()判断该字符串是否符合Unicode标准
IsNullOrEmpty(String)确定指定的字符串是空 (null) 还是空字符串 (“”)。
IsNullOrWhiteSpace(String)确定指定的字符串是否为 null、空或仅由空格字符组成
Join(String, String[])连接字符串数组中的所有元素,并使用指定的分隔符分隔每个元素。
LastIndexOf(Char)获取字符串中最后一个字符的位置
LastIndexOfAny(Char[])获取字符串中一个或多个字符最后一次出现的位置
Normalize()返回与原始字符串具有相同值的新字符串,但其二进制表示形式符合 Unicode 标准。
PadLeft(Int32)返回指定长度的新字符串。新字符串填充原始字符串左侧的空格,右对齐,达到指定的长度。
PadRight(Int32)返回指定长度的新字符串。新字符串左对齐并向右填充空格至指定长度。
Remove(Int32)返回指定长度的新字符串,并删除字符串中超过该长度的所有部分。
Replace(String, String)将字符串中的字符替换为指定字符并返回新形成的字符串。
Split(Char[])根据分隔符将字符串拆分为字符串数组。
StartsWith(String)确定字符串是否以指定字符串开头
Substring(Int32)从指定位置提取字符串
ToCharArray()将字符串中的字符复制到 Unicode 字符数组。
ToLower()将字符串中的字符转换为小写
ToLowerInvariant()使用固定区域性大小写规则将字符串转换为小写。
ToString()将其他数据类型转换为字符串类型
ToUpper()将字符串中的字符转换为大写
Trim()从字符串中删除前导和尾随空白字符
TrimEnd(Char[])删除字符串末尾的空格
TrimStart(Char[])删除字符串开头的空格

上表只列出了String类中几个常用的方法。关于String类所有方法的概述,请参考C#官方文档

下面是一些示例,展示了如何使用 String 类的方法。

[示例] 比较两个字符串,看它们是否相同。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        { 
            string str1 = "https://it-kiso.com/";
            string str2 = "it-kiso.com";
            if (String.Compare(str1, str2) == 0) {
                Console.WriteLine(str1 + " と " + str2 + " は同じです");
            } else {
                Console.WriteLine(str1 + " と " + str2 + " は異なります");
            }
            Console.ReadKey();
        }
    }
} 

[示例] 判断一个字符串是否包含在另一个字符串中。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        { 
            string str1 = "https://it-kiso.com/";
            string str2 = "kiso";
        
            if (str1.Contains(str2)) {
                Console.WriteLine(str1 + " 中に " + str2 + " が含まれています。");
            }else{
                Console.WriteLine(str1 + " 中に " + str2 + " が含まれていません。");
            }
            Console.ReadKey();
        }
    }
} 

【示例】从字符串中提取指定长度的字符串。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        { 
            string str = "https://it-kiso.com/";

            Console.WriteLine("元の文字列:" + str);
            string substr = str.Substring(7);
            Console.WriteLine("切り取られた文字列:" + substr);
        }
    }
} 

操作的结果将是:

元の文字列:https://it-kiso.com/
切り取られた文字列:it-kiso.com/

[示例] 将数组中的元素组合成字符串。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        { 
            string[] strarray = new string[]{
                "IT基礎",
                "https://it-kiso.com/",
                "C# チュートリアル"
            };

            string str = String.Join(" ", strarray);
            Console.WriteLine(str);
        }
    }
} 

操作的结果将是:

IT基礎 https://it-kiso.com/ C# チュートリアル

《C# string: string》通俗易懂的解释!您必须观看的 2 个最佳视频

【プログラミング講座(C#)】第11回 文字と文字列の違いについて【独り言】
https://www.youtube.com/watch?v=2Hbo05hsxRw&pp=ygUdQyMg5paH5a2X5YiXOiDmloflrZfliJcmaGw9SkE%3D