📅  最后修改于: 2023-12-03 14:50:22.072000             🧑  作者: Mango
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