为什么拆分函数在此字符串的第一个不返回 null

本文关键字:第一个 返回 null 字符串 拆分 函数 为什么 | 更新日期: 2024-10-31 20:28:04

我在 C# 中实现了一段代码,我将这个字符串//Comment传递给函数。 为什么函数返回 true?

bool function(string buf){    
    // split buffer from "//" and avoid from comment
    string[] lineSplit = buf.Split(new string[] { "//" },     StringSplitOptions.None);
    // split part of string from space and tab, and put into buffer
    if (lineSplit[0] != null)
    {
        return true;
    }
    return false;
}

请帮助我。

为什么拆分函数在此字符串的第一个不返回 null

如果分隔

符出现在字符串的开头,则字符串拆分方法将具有第一个元素作为String.Empty。你可以在这里阅读它

您可能希望将检查 null 的 if 语句更改为如下所示的内容:

bool function(string buf){    
    // split buffer from "//" and avoid from comment
    string[] lineSplit = buf.Split(new string[] { "//" },     StringSplitOptions.None);
    // split part of string from space and tab, and put into buffer
    if (lineSplit[0] != string.Empty)
    {
        return true;
    }
    return false;
}

你应该检查" "或字符串。空

public bool function(string buf)
    { 
        string[] lineSplit = buf.Split(new string[] { "//" }, StringSplitOptions.None);
      if (lineSplit[0] != string.Empty)
        {
            return true;
        }
        return false;
    }