我有一个包含名字和姓氏的字符串,我想分成两个单独的字符串,所以我使用了以下代码:
string Delname = bkDel.ContactName;
string[] Deltmp = Delname.Split(' ');
string DelFirstName = Deltmp[0];
string DelLastName = Deltmp[1];
Run Code Online (Sandbox Code Playgroud)
如果有名字和姓氏,它可以正常工作,但如果名称字符串仅包含名字,则会导致错误:
指数数组的边界之外。
因为Deltmp[1]是空。
有没有一种方法可以检查名称字符串,以便如果它只包含一个字符串,则不要尝试拆分?
您可以检查数组的长度:
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)