初始化
string str = string.Empty; // 建议
string str = ""; // 不建议
是否为空或空字串
如果我自己无法确定 string 一定不会为 null,我会使用
if (string.IsNullOrEmpty(str)) // string 自带静态函数 可以判断 null 及 空字串
{
}
以下判断 需先保证 str 不能为 null,要不然会报错
if (str.Length == 0) // 建议 速度最快
{
}
if (str == string.Empty) // 不建议
{
}
if (str == "") // 不建议
{
}
是否相等
目前作者还不确定 == 和 Equals 哪个好,但是“倒着比较”可以避免 NullReferenceException 错误
if ("123".Equals(str)) // 建议
{
}
if (str.Equals("123")) // 不建议
{
}
是否包含
是否包含可以使用 Contains 以及 IndexOf
Contains 返回 bool 值 包含 返回 true 不然 false
IndexOf 返回 该字串所在的位置 包含 返回 该字串所在的索引 从 0 开始 不然 -1
个人喜好用 Contains 理由是 个人觉得是否包含答案应该只有 包含 或 不包含,
但 IndexOf 则返回位置 而且判断 >= 0 也不直观,所以作者青睐使用 Contains
if (str.Contains("s")) // 青睐
{
}
if (str.IndexOf("s") >= 0) // 不青睐
{
}
字符串拼接
短拼接
首推 $ 可见性高
string str = "456";
string str2 = $"123{str}";
其次 Format 效率高,但拼接数量一多不好,可视化
string str = "456";
string str2 = string.Format("123{0}",str);
普通 +
string str = "456";
string str4 = "123" + str;
长拼接 循环拼接字串时 建议使用
StringBuilder strb = new StringBuilder();
strb.Append(str);