String in C#(String在C#中的运用)


前言

C#string中的字符串。与任何其他编程语言一样,C#中的字符串是最重要和最常用的类型之一。在本文中,您将学习如何使用C#中的字符串。本文讨论了String类、它的方法和属性,以及如何使用它们。


1.C# 中的String 对象

C#Char数据类型表示字符。在.NET中,文本存储为字符数据类型的顺序只读集合。在C#字符串的末尾没有空终止字符;因此,C#字符串可以包含任意数量的嵌入空字符(“\0”)。

The System.String 数据类型表示.NET中的字符串。C#中的字符串类是System.string类型的对象。C#中的String类表示字符串。

下面的代码创建了三个字符串,分别为名称、数字和双精度值。

// String of characters
System.String authorName = "Mahesh Chand";

// String made of an Integer
System.String age = "33";

// String made of a double
System.String numberString = "33.23";

下面是一个完整的示例,展示了如何在C#和.NET中使用stings。

using System;
namespace CSharpStrings
{
    class Program
    {
        static void Main(string[] args)
        {
            // Define .NET Strings
            // String of characters
            System.String authorName = "Mahesh Chand";

            // String made of an Integer
            System.String age = "33";

            // String made of a double
            System.String numberString = "33.23";

            // Write to Console.
            Console.WriteLine("Name: {0}", authorName);
            Console.WriteLine("Age: {0}", age);
            Console.WriteLine("Number: {0}", numberString);
            Console.ReadKey();
        }
    }
}

2. 在.NET 中的String 类

NET基类库中定义的字符串类将文本表示为一系列Unicode字符。String类提供处理字符串的方法和属性。
String类具有克隆字符串、比较字符串、连接字符串和复制字符串的方法。此类还提供了查找字符串中的子字符串、查找字符或子字符串的索引、替换字符、拆分字符串、修剪字符串以及向字符串添加填充的方法。string类还提供了将字符串的字符转换为大写或小写的方法。
查看这些链接,了解字符串的特定操作或功能。

3.字符串和System.String之间有什么不同?

The System.String类表示Unicode字符的集合,也称为文本。System.String类还定义了处理字符串数据类型的属性和方法。
String类是System的别名。.NET中的字符串类。String类继承系统的所有属性和方法。字符串类。

4. 创建字符串

有几种方法可以在C#和.NET中构造字符串。
使用构造函数创建字符串。
从文本创建字符串。
使用连接创建字符串。
使用属性或方法创建字符串。
使用格式创建字符串。
使用其构造函数创建字符串
String类具有多个重载构造函数,这些构造函数采用字符或字节数组。下面的代码段从字符数组创建字符串。

char[] chars = { 'M', 'a', 'h', 'e', 's', 'h' };
string name = new string(chars);
Console.WriteLine(name);

从文本创建字符串
这是实例化字符串的最常用方法。
您只需定义一个字符串类型变量,并通过放置文本值(不带双引号)将文本值分配给该变量。您可以将几乎任何类型的字符放在双引号内,并接受一些特殊的字符限制。
下面的代码段定义了一个名为firstName的字符串变量,然后将文本值Mahesh赋给它。
该处使用的url网络请求的数据。

string firstName;
firstName = "Mahesh";

或者,我们可以将文本值直接分配给变量。

string firstName = "Mahesh";

下面是一个完整的示例,说明如何使用文字创建字符串。

using System;
namespace CSharpStrings
{
    class Program
    {
        static void Main(string[] args)
        {
            string firstName = "Mahesh";
            string lastName = "Chand";
            string age = "33";
            string numberString = "33.23";
            Console.WriteLine("First Name: {0}", firstName);
            Console.WriteLine("Last Name: {0}", lastName);
            Console.WriteLine("Age: {0}", age);
            Console.WriteLine("Number: {0}", numberString);
            Console.ReadKey();
        }
    }
}

5. 通过连接创建字符串

字符串连接运算符(+)可用于组合多个字符串以创建单个字符串。下面的代码段创建了两个字符串。第一个字符串从DateTime对象中添加文本日期和当前日期值。第二个字符串添加三个字符串和一些硬编码文本以创建更大的字符串。

string nowDateTime = "Date: " + DateTime.Now.ToString("D");
string firstName = "Mahesh";
string lastName = "Chand";
string age = "33";
string authorDetails = firstName + " " + lastName + " is " + age + " years old.";

Console.WriteLine(nowDateTime);
Console.WriteLine(authorDetails);

关于字符串连接这里有一篇详细的文章:Six Effetive Ways To Concatenate Strings In C#.
https://www.c-sharpcorner.com/article/6-effective-ways-to-concatenate-strings-in-c-sharp-and-net-core/

6. 用属性或者方法创建字符串

String类的某些属性和方法返回字符串对象,如SubString方法。下面的代码段采用一个句子字符串,并在该字符串中查找年龄。代码返回33。

string authorInfo = "Mahesh Chand is 33 years old.";
int startPosition = sentence.IndexOf("is ") + 1;
string age = authorInfo.Substring(startPosition +2, 2 );
Console.WriteLine("Age: " + age);

7. 用Format创建字符串

String.Format 方法能返回字符串。下面的代码段使用Format方法创建一个新字符串。

string name = "Mahesh Chand";
int age = 33;
string authorInfo = string.Format("{0} is {1} years old.", name, age.ToString());
Console.WriteLine(authorInfo);

更新:C#6引入了字符串插值,这是一种连接、格式化和操作字符串的新的现代方式。这是格式化字符串的推荐方法。下面有一个关于字符串插值的文章:
https://www.c-sharpcorner.com/article/6-effective-ways-to-concatenate-strings-in-c-sharp-and-net-core/

8. 用ToString方法创建字符串

ToString方法返回一个字符串。我们可以将ToString应用于几乎任何可以转换为字符串的数据类型。以下代码段将int数据类型转换为字符串。

string name = "Mahesh Chand";
int age = 33;
string authorInfo = string.Format("{0} is {1} years old.", name, age.ToString());
Console.WriteLine(authorInfo);

9. 获取字符串的所有元素

字符串是字符的集合。
以下代码段读取字符串的所有字符并显示在控制台上。

string nameString = "Mahesh Chand";
for (int counter = 0; counter <= nameString.Length - 1; counter++)
Console.WriteLine(nameString[counter]);

10.获取字符串的长度

string类的Length属性返回字符串中的字符数,包括空格。
以下代码段返回字符串的长度并显示在控制台上。

string nameString = "Mahesh Chand";
Console.WriteLine(nameString);
Console.WriteLine("Size of string {0}", nameString.Length);

11.在字符串中,去空找元素的数量并输出

我们可以使用字符串。属性获取字符串的字符数,但它也将对空字符计数。因此,为了找出字符串中的确切字符数,我们需要从字符串中删除出现的空字符。
下面的代码段使用Replace方法删除空字符,然后显示字符串的非空字符。

string name = "Mahesh Chand";

string name = "Mahesh Chand";

// Get size of string
Console.WriteLine("Size of string: {0}", name.Length );

// Remove all empty characters
string nameWithoutEmptyChar = name.Replace(" ", "");

// Size after empty characters are removed
Console.WriteLine("Size of non empty char string: {0}", nameWithoutEmptyChar.Length);

// Read and print all characters
for (int counter = 0; counter <= nameWithoutEmptyChar.Length - 1; counter++)
Console.WriteLine(nameWithoutEmptyChar[counter]);

12. String 转 Char类型数组

ToCharArray方法将字符串转换为Unicode字符数组。下面的代码段将字符串转换为字符数组并显示它们。

string sentence = "Mahesh Chand is an author and founder of C# Corner";
char[] charArr = sentence.ToCharArray();
foreach (char ch in charArr)
{
  Console.WriteLine(ch);
}

13. 什么是一个Empty的string呢?

空字符串是系统的有效实例。包含零个字符的字符串对象。有两种方法可以创建空字符串。我们可以使用字符串。属性,或者我们可以简单地分配一个文本值,其中没有文本。
下面的代码段创建了两个空字符串。

string empStr = string.Empty;
string empStr2 = "";

上述两条语句生成相同的输出。空字符串有时用于比较其他字符串的值。
以下代码段使用空字符串与名称字符串进行比较。

string name = "Mahesh Chand";
if (name != empStr)
{
  Console.WriteLine(name);
}

在实际编码中,我们可能永远不会创建空字符串,除非您计划在其他地方将其用作非空字符串。我们可以简单地使用字符串。空方向将字符串与空字符串进行比较。

if (name != string.Empty)
{
  Console.WriteLine(name);
}

下面是使用空字符串的完整示例。

string empStr = string.Empty;
string empStr2 = "";
string name = "Mahesh Chand";
if (name != empStr)
{
  Console.WriteLine(name);
}
if (name != string.Empty)
{
  Console.WriteLine(name);
}

14. 理解Null 字符

空字符串是尚未初始化且具有空值的字符串变量。如果尝试调用空字符串的任何方法或属性,则会出现异常。空字符串与代码中定义的任何其他变量完全相同。
空字符串通常用于字符串连接和与其他字符串的比较操作。
下面的代码示例演示如何使用空字符串。

string nullStr = null;
string empStr = string.Empty;
string name = "Mahesh Chand";

if ((name != nullStr) || (name != empStr))
{
  Console.WriteLine(name + " is neither null nor empty");
}

总结

在本文中,我们学习了C#和.NET中字符串的基础知识,以及如何在代码中使用.NET中提供的字符串类。

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值