【发布时间】:2013-10-19 23:44:23
【问题描述】:
我正在尝试检查字符串中的第一个字母是否为 l,l 可以是大写或小写,如果是 l 我想从字符串中修剪它,我目前正在使用此代码来执行此操作
String firstLetter = result.Text[0].ToString();
if (result.Text.Length == 18)
{
if (firstLetter.Equals("l".ToString()) || firstLetter.Equals("L".ToString()))
{
result.Text.Remove(0, 1);
}
if (firstLetter == "l" || firstLetter == "L" || firstLetter == "1")
{
result.Text.Remove(0, 1);
}
if (result.Text.StartsWith("l".ToString()) || result.Text.ToUpper().StartsWith("L".ToString()))
{
result.Text.Remove(0, 1);
}
}
这些 if 语句都不起作用,它们被完全跳过,为什么它们不起作用?
【问题讨论】:
-
第一个条件(
result.Text.Length == 18)被跳过了吗? -
结果是什么对象?是文本框吗?
-
@H.Moody 这不正确。使用等于
==运算符比较字符串不会按引用进行比较。 -
@H.Moody 实际上在 C# 中
==被重载为Equals()。 -
@TrevorElliott 对不起哥们,我忘了那不是 Java :-
标签: c# .net string if-statement boolean