如果文本框不为空,我怎样才能分配变量?
我正试图从文本框中取出文本&在前缀中添加一个字母,如果它们不为空,则将文本分配给字符串变量并将其写入文本文件。 如果文本框为空,则不应创建变量,并从文本文件中省略该变量。 这是使用其中的所有变量创建的主字符串的示例:
5012G65 P9811Y10C2F4H4Q4 S U4 V E2 I T7 W
问题是文本框是空的,前缀字母仍然输出到文本文件(粗体)(如果是空的话,它根本不应出现)。
提前谢谢你。
我的代码:
if (radioButton1.Checked == true)
{
string X = "X" + textBox1.Text.ToString();
string C = "C" + textBox2.Text.ToString();
string F = "F" + textBox3.Text.ToString();
string H = "H" + textBox4.Text.ToString();
string Q = "Q" + textBox5.Text.ToString();
string S = "S" + textBox6.Text.ToString();
string U = "U" + textBox7.Text.ToString();
string V = "V" + textBox8.Text.ToString();
string E = "E" + textBox9.Text.ToString();
string I = "I" + textBox10.Text.ToString();
string T = "T" + textBox11.Text.ToString();
string W = "W" + textBox12.Text.ToString();
string P9811A = string.Format("G65Y9811{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}", X, C, F, H, Q, S, U, V, E, I, T, W);
string[] lines = {"5000O8011",
"5001(OSAMPLE)",
"5007(SINGLE)",
"5008(CHANGE ALL VALUES BEFORE RUNNING)",
"5012" + P9811A,
"5013M01",
"(CORRECT ALL )",
};
System.IO.File.WriteAllLines(@"C:\WriteLines.txt", lines);
}
答案 0 :(得分:1)
使用StringBuilder
并根据需要附加。
在将TextBox
添加到StringBuilder
之前测试每个var P9811A = new StringBuilder("G65Y9811");
if (textBox1.Text != "")
P9811A.Append("X" + textBox1.Text);
if (textBox2.Text != "")
P9811A.Append("C" + textBox2.Text);
// and so on...
是否为空。
P9811A.ToString()
如果您需要正在构建的字符串的值,请使用if (!String.IsNullOrWhiteSpace(textBox1.Text)) {
X = "X" + textBox1.Text.ToString();
}
。
答案 1 :(得分:0)
使用String.IsNullOrEmpty()
方法(re:https://msdn.microsoft.com/en-us/library/system.string.isnullorempty(v=vs.110).aspx),如下所示:
if(!String.IsNullOrEmpty(textBox1.Text))...//your code her
或者,从 .NET 4 框架开始,您可以使用其他方法:String.IsNullOrWhiteSpace()
希望这可能会有所帮助。
答案 2 :(得分:0)
string X = string.IsNullOrWhiteSpace(textBox1.Text) ? "" : "X" + textBox1.Text;
string C = string.IsNullOrWhiteSpace(textBox2.Text) ? "" : "C" + textBox2.Text;
......
https://msdn.microsoft.com/en-us/library/system.string.isnullorwhitespace(v=vs.110).aspx
答案 3 :(得分:0)
{{1}}
并重复所有其他输入
String.IsNullOrWhiteSpace是首选,因为它不再需要测试由所有空格或其他字符组成的字符串,例如制表符和换行符,而且您也不需要在这些字符串上调用Trim来删除它们。 ..
空白字符由Unicode标准定义。该 IsNullOrWhiteSpace方法解释返回的任何字符 传递给Char.IsWhiteSpace方法时的值为true 白色空间。