无法将“z”替换为下面的代码。任何帮助都是极好的。谢谢
//Generate Nut Part Number
textBox7.Text = "MLA028Z-CAN-" + comboBox2.Text + "R" + "-" + comboBox3.Text + "z" + "0";
//Replaces z Variable in Lead Screw Assembly Part Number
if (comboBox1.Text == "0")
textBox6.Text.Replace("z", "B");
else if (comboBox1.Text == "1")
textBox7.Text.Replace("z", "D");
else if (comboBox1.Text == "2")
textBox7.Text.Replace("z", "D");
else if (comboBox1.Text == "3")
textBox7.Text.Replace("z", "D");
else if (comboBox1.Text == "4")
textBox7.Text.Replace("z", "D");
else if (comboBox1.Text == "5")
textBox7.Text.Replace("z", "D");
else if (comboBox1.Text == "6")
textBox7.Text.Replace("z", "D");
else if (comboBox1.Text == "7")
textBox7.Text.Replace("z", "B");
答案 0 :(得分:7)
问题是Replace()
返回新的string
并进行了替换。它不会更新它运行的string
,因此您必须自己执行此操作:
if (comboBox1.Text == "0") textBox6.Text = textBox6.Text.Replace("z", "B");
进行更改(即将结果分配回textBox6.Text
/ textBox7.Text
)将使您的代码按预期工作。
答案 1 :(得分:4)
修改每个
textBox7.Text.Replace("z", "D");
与
textBox7.Text = textBox7.Text.Replace("z", "D");
答案 2 :(得分:1)
String
在.NET中是不可变的,因此textBox7.Text = textBox7.Text.Replace("z", "D")
。
答案 3 :(得分:0)
由于你并没有真正使用分配给文本框的值,并且在你的if中只有两个不同的场景我已经重新安排了一些代码。然而,如其他地方所述,主要问题是您没有将替换结果分配回文本属性
//Replaces z Variable in Lead Screw Assembly Part Number
var replace = "z";
int combo;
if(int.TryParse(comboBox1.Text, out combo)){
if (combo == 0) textBox6.Text = textBox6.Text.Replace("z", "B");
else if (combo >0 && combo < 7) replace = "D";
else if (combo == 7) replace = "B";
}
//Generate Nut Part Number
textBox7.Text = "MLA028Z-CAN-" + comboBox2.Text + "R" + "-" + comboBox3.Text + replace + "0";
答案 4 :(得分:0)
其他人已经回答了主要问题,但如果有以下情况,我还建议更换所有其他问题。
var oneToSix = Enumerable.Range(1, 7).Select(x => x.ToString());
if (comboBox1.Text == "0") textBox6.Text = textBox6.Text.Replace("z", "B");
if (comboBox1.Text == "7") textBox7.Text = textBox7.Text.Replace("z", "B");
else if (oneToSix.Contains(comboBox1.Text)) textBox7.Text = textBox7.Text.Replace("z", "D");
答案 5 :(得分:-2)
除此之外,这应该是一个开关声明:
switch(comboBox1.Text){
case "0":
textBox6.Text = textBox6.Text.Replace("z", "B");
break;
case "7":
textBox7.Text = textBox7.Text.Replace("z", "B");
break;
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
textBox7.Text = textBox7.Text.Replace("z", "D");
break;
}