1

在 Linq 我有类似的东西

nodes.Select(td => td.InnerText.
                Replace("&", "&").
                Substring(0, td.InnerText.IndexOf("+"))).
                ToArray();

有时 td.InnerText 包含一个 + 符号,有时它没有,如果没有,我得到空引用异常。

Substring(0, td.InnerText.IndexOf("+")))仅当 td.InnerText 包含“+”时,我如何申请?

4

2 回答 2

2

你可以这样做

td.InnerText.Replace("&", "&").Substring(0, td.InnerText.IndexOf("+") > -1 ? td.InnerText.IndexOf("+") : 0);
于 2013-10-01T05:09:22.320 回答
1

尝试使用三元运算符。这可能无法正常工作,但会给你一个提示。

nodes.Select(td => td.InnerText.Replace("&", "&").Substring(0, 
    (td.InnerText.Contains("+")==true? td.InnerText.IndexOf("+"):string.Empty))).
                    ToArray();
于 2013-10-01T05:08:58.217 回答