32

System.String.Split()戻ることはありnullますか?(。ネット)

私はそうではないと信じてコーディングしていることを知っていますが、ドキュメントを読んでもそのようなステートメントは見当たりません。ドキュメントにはそのような記述がないので、コミュニティの経験で、実際にstring.Split戻ってくるケースに遭遇した人はいますnullか?

4

3 に答える 3

44

いいえ、null を返すことはできません。そのソースを見ると、コード コントラクトで保証されています。

public String[] Split(params char[] separator) {
    Contract.Ensures(Contract.Result<String[]>() != null);

すべてのパブリック オーバーロードも同じ保証を行います。

于 2012-06-13T19:34:25.863 に答える
22

いいえ、null は返しません。セパレーターが存在しない場合は、文字列全体を返します

MSDNから

このインスタンスにセパレーターの文字列が含まれていない場合、返される配列は、このインスタンスを含む単一の要素で構成されます。区切りパラメーターが null であるか、文字が含まれていない場合、空白文字が区切り文字と見なされます

于 2012-06-13T19:34:46.443 に答える
2

戻ることはできません。プロパティが空でないことを確認してください

if (property != null)
{
    string[] splitData = sampleObject.property.Split(new char[] { ',' },
    StringSplitOptions.RemoveEmptyEntries);
}
于 2012-06-13T20:03:59.790 に答える