检查名称字符串是否包含名字和姓氏

use*_*789 0 c# string split

我有一个包含名字和姓氏的字符串,我想分成两个单独的字符串,所以我使用了以下代码:

string Delname = bkDel.ContactName;
string[] Deltmp = Delname.Split(' ');
string DelFirstName = Deltmp[0];
string DelLastName = Deltmp[1];
Run Code Online (Sandbox Code Playgroud)

如果有名字和姓氏,它可以正常工作,但如果名称字符串仅包含名字,则会导致错误:

指数数组的边界之外。

因为Deltmp[1]是空。

有没有一种方法可以检查名称字符串,以便如果它只包含一个字符串,则不要尝试拆分?

The*_*der 5

您可以检查数组的长度:

if (Deltmp.Length > 1)
    //Assign to vars
Run Code Online (Sandbox Code Playgroud)

或者您可以检查输入字符串是否包含空格:

if (Delname.Contains(" "))
    //Do split
Run Code Online (Sandbox Code Playgroud)

例如:

string[] Deltmp = Delname.Split(' ');
if (Deltmp.Length > 1)
    //Assign to both
else
    //Assign to only one
Run Code Online (Sandbox Code Playgroud)