今天我們將探討C#中兩個常用的字串處理方法:IsNullOrEmpty和IsNullOrWhiteSpace。這兩個方法在處理字串時非常常見,但是它們之間存在一些細微的區別。在本文中,我們將詳細解釋這兩個方法的功能和使用場景,並幫助您更好地理解它們之間的區別。
該方法用於檢查字串是否為null或空字串("")。如果字串為null或長度為0,返回true;否則返回false。這個方法只關注字串的長度,不考慮其中的空白字元。
/// <summary>
/// 判斷字串是否為null或者為空字串
/// </summary>
/// <param name="value">字串</param>
/// <returns></returns>
public static bool IsNullOrEmpty([NotNullWhen(false)] string? value)
{
return value == null || value.Length == 0;
}
public static void Main(string[] args)
{
string str1 = null;
string str2 = "";
string str3 = " ";
string str4 = "追逐時光者";
Console.WriteLine(IsStringNullOrEmpty(str1));// 輸出:True
Console.WriteLine(IsStringNullOrEmpty(str2));// 輸出:True
Console.WriteLine(IsStringNullOrEmpty(str3));// 輸出:False
Console.WriteLine(IsStringNullOrEmpty(str4));// 輸出:False
}
public static bool IsStringNullOrEmpty(string str)
{
return string.IsNullOrEmpty(str);
}
該方法用於檢查字串是否為null、空字串("")或只包含空白字元。如果字串為null、長度為0或只包含空白字元(例如空格、製表符、換行符),返回true;否則返回false。與IsNullOrEmpty不同,IsNullOrWhiteSpace會考慮字串中的空白字元。
/// <summary>
/// 字串是否為null、空字串或只包含空白字元[(空格、製表符、換行符等空白字元)]
/// </summary>
/// <param name="value">字串</param>
/// <returns></returns>
public static bool IsNullOrWhiteSpace([NotNullWhen(false)] string? value)
{
if (value == null) return true;
for (int i = 0; i < value.Length; i++)
{
//判斷每個字元是否為空白字元,如果存在任何一個非空白字元,即字元不是空格、製表符或換行符等空白字元,
//那麼條件 !char.IsWhiteSpace(value[i]) 就會為真,此時立即返回 false,表示該字串不是空字串。
if (!char.IsWhiteSpace(value[i])) return false;
}
return true;
}
public static void Main(string[] args)
{
string str1 = null;
string str2 = "";
string str3 = " ";
string str4 = "追逐時光者";
Console.WriteLine(IsStringNullOrWhiteSpace(str1));// 輸出:True
Console.WriteLine(IsStringNullOrWhiteSpace(str2));// 輸出:True
Console.WriteLine(IsStringNullOrWhiteSpace(str3));// 輸出:True
Console.WriteLine(IsStringNullOrWhiteSpace(str4));// 輸出:False
}
public static bool IsStringNullOrWhiteSpace(string str)
{
return string.IsNullOrWhiteSpace(str);
}
作者:追逐時光者
作者簡介:一個熱愛程式設計,善於分享,喜歡學習、探索、嘗試新事物,新技術的程式猿。
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。如果該篇文章對您有幫助的話,可以點一下右下角的【♥推薦♥】,希望能夠持續的為大家帶來好的技術文章,文中可能存在描述不正確或錯誤的地方,歡迎指正、補充,不勝感激 !