📜  制作字符串 - C# (1)

📅  最后修改于: 2023-12-03 14:50:22.072000             🧑  作者: Mango

制作字符串 - C#

C# 是一种受到广泛应用的编程语言,它可以用于开发各种类型的应用程序,包括桌面应用、Web 应用、移动应用和游戏等。

在 C# 中,字符串是一种常用的数据类型,字符串变量可以存储文本、数值、日期等信息,也可以用于连接其他字符串、格式化输出等操作。

创建字符串

在 C# 中,可以使用双引号或单引号来创建字符串。

例如:

string str1 = "Hello World!";
string str2 = 'H' + 'e' + 'l' + 'l' + 'o';
连接字符串

可以使用加号(+)来连接字符串。

例如:

string firstName = "John";
string lastName = "Doe";
string fullName = firstName + " " + lastName;

以上代码将 firstName、lastName 和一个空格连接起来,并赋值给 fullName。

格式化字符串

使用格式化字符串可以将变量的值插入到字符串中。在 C# 中,可以使用 $ 符号和大括号({})来实现这一功能。

例如:

int age = 30;
string message = $"My age is {age}.";

格式化字符串需要放在双引号中,变量名需要用大括号括起来。

转义字符

在字符串中,有一些字符是无法直接输入的,需要使用转义字符来表示。

以下是一些常见的转义字符及其含义:

| 转义字符 | 含义 | | -------- | ---------- | | \ | 反斜杠 | | ' | 单引号 | | " | 双引号 | | \n | 换行 | | \t | 横向制表符 | | \r | 回车 |

例如:

string str = "I\tam\na\"programmer\".";

以上代码将输出:

I   am
a"programmer".
字符串方法

C# 提供了许多字符串方法,以便于处理字符串。以下是一些常用的字符串方法:

| 方法 | 描述 | | ------------------------------------------------------------ | --------------------------------------------- | | string.Length | 返回字符串的长度 | | string.ToLower() | 将字符串转换为小写 | | string.ToUpper() | 将字符串转换为大写 | | string.Substring(int startIndex, int length) | 获取子字符串 | | string.IndexOf(string value) | 查找字符串中指定字符串的位置 | | string.Replace(string oldValue, string newValue) | 将字符串中指定的值替换为新值 | | string.Trim() | 去除字符串开头和结尾的空格 | | string.Split(char[] separator, StringSplitOptions option) | 将字符串按照指定的分隔符拆分为子字符串 | | string.IsNullOrEmpty(string value) | 检查字符串是否为 null 或者空字符串 | | string.Format(string format, params object[] args) | 格式化字符串,插入格式化参数 | | string.CompareTo(string strB) | 比较两个字符串的大小,返回 -1、0 或 1 | | string.Equals(object obj) | 比较字符串与指定对象是否相等 | | string.Contains(string value) | 检查字符串是否包含指定的子字符串 | | string.StartsWith(string value) | 检查字符串是否以指定的字符串开头 | | string.EndsWith(string value) | 检查字符串是否以指定的字符串结尾 | | string.Join(string separator, params string[] value) | 将多个字符串组合为一个字符串,用分隔符隔开 | | StringBuilder.Append(string value) | 在字符串后追加指定的内容 | | StringBuilder.Remove(int startIndex, int length) | 从字符串中删除指定长度的子字符串 | | StringBuilder.Replace(string oldValue, string newValue) | 将字符串中指定的值替换为新值 | | StringBuilder.Insert(int index, string value) | 在指定位置插入指定的值 | | StringBuilder.ToString() | 将 StringBuilder 对象转换为字符串 |

示例代码
using System;

namespace StringDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1 = "Hello World!";
            string str2 = "C#";
            string str3 = $"Welcome to {str2} programming!";
            Console.WriteLine(str1);   // 输出:Hello World!
            Console.WriteLine(str2);   // 输出:C#
            Console.WriteLine(str3);   // 输出:Welcome to C# programming!

            string firstName = "John";
            string lastName = "Doe";
            string fullName = $"{firstName} {lastName}";
            Console.WriteLine(fullName);    // 输出:John Doe

            string str4 = "I am a programmer.";
            Console.WriteLine(str4.Length);     // 输出:20
            Console.WriteLine(str4.ToUpper());  // 输出:I AM A PROGRAMMER.
            Console.WriteLine(str4.Contains("program"));   // 输出:True
            Console.WriteLine(str4.StartsWith("I"));        // 输出:True
            Console.WriteLine(str4.EndsWith("."));          // 输出:True

            string str5 = "   Hello World!   ";
            Console.WriteLine(str5.Trim());     // 输出:Hello World!

            string[] strs = str4.Split(' ');
            foreach (string str in strs)
            {
                Console.WriteLine(str);
            }
            // 输出:
            // I
            // am
            // a
            // programmer.

            int age = 30;
            Console.WriteLine("My age is " + age + ".");
            Console.WriteLine("My age is {0}.", age);

            StringBuilder sb = new StringBuilder("C#");
            sb.Append(" programming");
            sb.Insert(0, "Welcome to ");
            sb.Remove(0, 11);
            sb.Replace("program", "language");
            Console.WriteLine(sb.ToString());  // 输出:languageing
        }
    }
}

以上代码将输出:

Hello World!
C#
Welcome to C# programming!
John Doe
20
I AM A PROGRAMMER.
True
True
True
Hello World!
I
am
a
programmer.
My age is 30.
My age is 30.
languageing