C# 修剪方法不适用于';我不能清除所有的空间
嗨,我正在用c#编写一个基本的windows窗体,我对Trim()方法有点问题。 其中有3个文本框,用户可以输入他的名字、姓氏和ID。 然后他可以通过点击保存按钮来保存信息,但我想确保他没有留下空白框,所以我做了以下测试:C# 修剪方法不适用于';我不能清除所有的空间,c#,winforms,string,trim,C#,Winforms,String,Trim,嗨,我正在用c#编写一个基本的windows窗体,我对Trim()方法有点问题。 其中有3个文本框,用户可以输入他的名字、姓氏和ID。 然后他可以通过点击保存按钮来保存信息,但我想确保他没有留下空白框,所以我做了以下测试: string CFN = Curator_FN.Text; string CLN = CURATOR_LN.Text; string CID = CURATOR_ID.Text; Curator_FN.Text
string CFN = Curator_FN.Text;
string CLN = CURATOR_LN.Text;
string CID = CURATOR_ID.Text;
Curator_FN.Text.Trim();
CURATOR_ID.Text.Trim();
CURATOR_LN.Text.Trim();
if (((Curator_FN.Text.Length == 0) || (CURATOR_ID.Text.Length == 0) || (CURATOR_LN.Text.Length == 0)))
{
MessageBox.Show("You Have to enter a First Name, a Last Name and an ID");
Empty = true;
}
问题是如果我用空格键做一些空白,Time-()方法不把它们看作空白。
也许我只是误解了Trim()方法,如果我误解了,你知道我该怎么做吗?
提前谢谢 Trim方法不修改文本框的内容,它只返回经过修剪的版本。例如,您需要存储此版本
Curator_FN.Text = Curator_FN.Text.Trim();
当然,这有可能使更改对用户可见(并且它还必须访问UI线程,在其他情况下可能会出现问题),因此使用局部变量(如中所示)要好得多
var curatorFn = Curator_FN.Text.Trim();
// etc
if (curatorFn.Length == 0 || ... ) {
// show messagebox
}
当然,如果您只需要这样做,那么使用可能是一个更方便的选择。Trim方法不会修改文本框的内容,它只返回经过修剪的版本。例如,您需要存储此版本
Curator_FN.Text = Curator_FN.Text.Trim();
当然,这有可能使更改对用户可见(并且它还必须访问UI线程,在其他情况下可能会出现问题),因此使用局部变量(如中所示)要好得多
var curatorFn = Curator_FN.Text.Trim();
// etc
if (curatorFn.Length == 0 || ... ) {
// show messagebox
}
当然,如果您只需要这样做,那么使用可能是一种更方便的选择。Trim不会修改字符串本身。它返回一个新的修剪字符串 如果您并不真正关心修改变量,请查看该方法
if (String.IsNullOrWhiteSpace(curatorFn) || ... ) {
// show messagebox
}
修剪不会修改字符串本身。它返回一个新的修剪字符串 如果您并不真正关心修改变量,请查看该方法
if (String.IsNullOrWhiteSpace(curatorFn) || ... ) {
// show messagebox
}
由于字符串在C#中是不可变的,Trim()方法不会更改字符串本身;它返回修剪字符串的新实例 您需要将方法调用的结果分配给变量,即
CFN = Curator_FN.Text.Trim()
然后检查CFN是否为空。由于字符串在C#中是不可变的,Trim()方法不会更改字符串本身;它返回修剪字符串的新实例 您需要将方法调用的结果分配给变量,即
CFN = Curator_FN.Text.Trim()
然后检查CFN是否为空。Trim不会修改字符串。你想要:
Curator_FN.Text = Curator_FN.Text.Trim();
CURATOR_ID.Text = CURATOR_ID.Text.Trim();
CURATOR_LN.Text = CURATOR_LN.Text.Trim();
此外,如果您使用的是.NET4,您可能还需要检查该方法
if (String.IsNullOrWhiteSpace(Curator_FN.Text) ||
String.IsNullOrWhiteSpace(CURATOR_ID.Text) ||
String.IsNullOrWhiteSpace(CURATOR_LN.Text)
{
//..
}
修剪不会修改字符串。你想要:
Curator_FN.Text = Curator_FN.Text.Trim();
CURATOR_ID.Text = CURATOR_ID.Text.Trim();
CURATOR_LN.Text = CURATOR_LN.Text.Trim();
此外,如果您使用的是.NET4,您可能还需要检查该方法
if (String.IsNullOrWhiteSpace(Curator_FN.Text) ||
String.IsNullOrWhiteSpace(CURATOR_ID.Text) ||
String.IsNullOrWhiteSpace(CURATOR_LN.Text)
{
//..
}
非常感谢,我会改的!:)如果我只输入一些空格,IsNullOrEmpty方法会将字符串识别为空吗?@PhaDaPhunk:对不起,习惯性地犯了一个错误
IsNullOrWhiteSpace
是正确的方法,是的,它可以识别空格。非常感谢,我将更改它!:)如果我只输入一些空格,IsNullOrEmpty方法会将字符串识别为空吗?@PhaDaPhunk:对不起,习惯性地犯了一个错误IsNullOrWhiteSpace
是正确的方法,它会识别空格。如果我只输入一些空格,IsNullOrEmpty方法会识别字符串为空吗?如果我只输入一些空格,IsNullOrEmpty方法会识别字符串为空吗?