C#编程-011:判断string为空的方法,附常用的方法

2024-03-04 15:15:16 浏览数 (1)

在C#中,判断一个字符串变量是否为空或空字符串有多种方式,

以下是几种常见的做法:

1. 使用 `string.IsNullOrEmpty()` 方法:

这是最常用且推荐的方法,它可以同时判断字符串是否为 `null` 或者空字符串 (`""`)。

代码语言:javascript复制
string myString =...;
if(string.IsNullOrEmpty(myString))
{
       Console.WriteLine("The string is either null or empty.");
}

2. 使用 `string.IsNullOrWhitespace()` 方法:

此方法不仅检查字符串是否为 `null` 或空字符串,还检查它是否只包含空白字符(如空格、制表符、换行符等)。如果你关心的是实质性的文本内容而非空白字符,此方法更为适用。

代码语言:javascript复制
string myString =...;
if(string.IsNullOrWhiteSpace(myString))
{
       Console.WriteLine("The string is either null, empty, or contains only whitespace characters.");
}

3. 直接比较长度:

你也可以通过检查字符串的 `Length` 属性是否为0来判断它是否为空。

代码语言:javascript复制
string myString =...;
if(myString.Length ==0)
{
       Console.WriteLine("The string is empty.");
}

请注意,在使用上述方法之前,

对于可能会是 `null` 的字符串变量,

直接访问其 `Length` 属性会抛出 `NullReferenceException` 异常,

因此在这种情况下,

优先推荐使用 `string.IsNullOrEmpty()` 或 `string.IsNullOrWhitespace()` 方法。

=====

个人常用的是`string.IsNullOrEmpty()`

在C#中,string 类型提供了大量的方法来操作字符串。

以下是一些常用的 string 方法:

1. 构造方法string(): 创建一个空字符串。

a. string(char[] value): 通过字符数组创建一个字符串。

b. string(char[] value, int startIndex, int length): 通过字符数组的一部分创建一个字符串。

c. string(const char* value): 通过C风格的字符串创建一个字符串。

2. 比较方法Compare(string strA, string strB): 比较两个字符串。

a. CompareOrdinal(string strA, string strB): 使用序数比较两个字符串。

b. Equals(string value): 判断当前字符串是否与指定字符串相等。

c. Equals(string value1, string value2): 判断两个字符串是否相等。

d. StartsWith(string value): 判断字符串是否以指定的字符串开始。

e. EndsWith(string value): 判断字符串是否以指定的字符串结束。

3. 修改方法ToUpper(): 将字符串转换为大写。

a. ToLower(): 将字符串转换为小写。

b. Trim(): 去除字符串两端的空白字符。

c. TrimStart(): 去除字符串开始处的空白字符。

d. TrimEnd(): 去除字符串结束处的空白字符。

e. PadLeft(int totalWidth): 在字符串左侧填充空白字符以达到指定的长度。

f. PadRight(int totalWidth): 在字符串右侧填充空白字符以达到指定的长度。

g. Insert(int index, string value): 在指定位置插入字符串。

h. Remove(int startIndex, int count): 从字符串中移除指定数量的字符。

i. Replace(string oldValue, string newValue): 替换字符串中的指定文本。

j. Substring(int startIndex): 从指定位置开始获取子字符串。

k. Substring(int startIndex, int length): 从指定位置开始并指定长度获取子字符串。

4. 查找方法IndexOf(string value): 查找字符串中第一次出现指定文本的位置。

a. LastIndexOf(string value): 查找字符串中最后一次出现指定文本的位置。

b. Contains(string value): 判断字符串中是否包含指定的文本。

c. StartsWith(string value, StringComparison comparisonType): 使用指定的比较类型判断字符串是否以指定的文本开始。

d. EndsWith(string value, StringComparison comparisonType): 使用指定的比较类型判断字符串是否以指定的文本结束。

5. 格式化方法Format(string format, object arg0): 使用指定的格式字符串和一个对象参数格式化字符串。

a. Format(IFormatProvider provider, string format, params object[] args): 使用指定的格式提供程序、格式字符串和对象参数数组格式化字符串。

b. Concat(string str0, string str1): 连接两个字符串。

c. Concat(params string[] values): 连接字符串数组中的所有字符串。

d. Join(string separator, string[] value): 使用指定的分隔符连接字符串数组中的所有字符串。

6. 编码与解码Encode(Encoding encoding): 使用指定的字符编码将字符串转换为字节数组。

a. Decode(Encoding encoding): 使用指定的字符编码将字节数组解码为字符串。

7. 分割方法Split(params char[] separator): 使用指定的字符数组将字符串分割为子字符串数组。

a. Split(string[] separator, StringSplitOptions options): 使用指定的字符串数组和选项将字符串分割为子字符串数组。

8. 其他方法IsNullOrEmpty(string value): 判断字符串是否为 null 或空字符串。

a. IsNullOrWhiteSpace(string value): 判断字符串是否为 null、空字符串或只包含空白字符。

b. Intern(string str): 将指定的字符串添加到字符串驻留池(intern pool)中。

c. CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count): 将指定数量的字符从一个字符串复制到字符数组。

d. Length: 获取字符串的长度。

e. Chars: 获取指定位置的字符。

这些方法提供了对字符串的丰富操作,使得在C#中处理字符串变得非常灵活和方便。

0 人点赞