我正在处理一个实体(员工),它有3个字段:FirstName,LastName和Login。
我想获取lastname和firstname字段的第一个字母,并将其写入login字段。如何获取firstname字段的第一个字母?
谢谢任何帮助。
我正在处理一个实体(员工),它有3个字段:FirstName,LastName和Login。
我想获取lastname和firstname字段的第一个字母,并将其写入login字段。如何获取firstname字段的第一个字母?
谢谢任何帮助。
就像这样简单:
if (!string.IsNullOrEmpty(Employee.FirstName))
{
string firstLetter = Employee.FirstName.SubString(0, 1);
}
通过这个方法,您可以得到第一个字母的字符串,并由此得到字符:
if (!string.IsNullOrEmpty(Employee.FirstName))
{
char firstLetter = Employee.FirstName[0];
}
char c = employee.FirstName[0];
您可能需要先检查字符串是否非空,非空白,并去除前导空格,以及第一个字符是否实际上是一个字母:
if (employee != null && employee.FirstName != null) {
string name = employee.FirstName.TrimStart();
if (name.Length > 0) {
char firstChar = name[0];
if (char.IsLetter(firstChar)) {
employee.Login = firstChar.ToString();
}
}
}
char firstCharOfFirstName = someEmployee.FirstName[0];
char firstCharOfFirstName = someEmployee.FirstName.Trim()[0];
正如其他答案所提到的,检查空字符串和null
字符串是很好的做法。
如果名字可能为空,那么在获取第一个字母时就需要检查。
FirstName.Substring(0, Math.Min(FirstName.Length, 1))
FirstName
字符串为空,则会返回一个空字符串,否则返回第一个字符作为字符串,以便您可以将其与姓氏连接起来。ArgumentOutOfRangeException
或 IndexOutOfRangeException
异常。FirstName == string.Empty
所以,这段代码至少可以避免异常:
if(str2 != null)
{
char result = (str2.Length > 0)
? str2[0]
: (char)0;
}
不要忘记,如果字符串为空,此代码将返回false结果!
ArgumentOutOfRangeException
,提到它的话我会给你加一分。 - Esoteric Screen Name
ArgumentOutOfRangeException
或IndexOutOfRangeException
。 - JiBéDoublevé