c#写入x';s正在使用循环
本文关键字:循环 写入 | 更新日期: 2023-09-27 18:29:30
我制作了文本框1和2,以创建一行x,从一个x开始,然后输入,然后输入xx,依此类推。
现在我需要文本框3和4来显示相同的内容,但它必须从10x开始。这就是我的
namespace Vierkant
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void button_Click_1(object sender, RoutedEventArgs e)
{
string x = "X";
for (int i = 0; i < 10; i++)
{
if ( i == 0)
{
x = "X";
}
else
{
x += "X";
}
txt_box1.Text += (x) + "'n";
txt_box2.Text += (x) + "'n";
}
for (int j = 10; j > 0; j--)
{
if (j == 10)
{
x = x.Remove(x.Length - 1);
}
else
{
x = x.Remove(x.Length - 1);
}
txt_box3.Text += (x) + "'n";
txt_box4.Text += (x) + "'n";
// txt_box4.Text displays correct but starts from 9 x's?
}
}
}
}
在显示之前,您要删除其中一个x。
if (j == 10)
{
x = x.Remove(x.Length - 1);
}
也许更好的解决方案是:
if (j < 10)
{
x = x.Remove(x.Length - 1);
}
试试这个:
private void button_Click_1(object sender, RoutedEventArgs e)
{
int i;
string allLines = "";
for (i = 1; i <= 10; i++)
allLines += new string('X', i) + (i < 10 ? "'n" : "");
txt_box1.Text = allLines;
txt_box2.Text = allLines;
allLines = "";
while (--i > 0)
allLines += new string('X', i) + (i > 1 ? "'n" : "");
txt_box3.Text = allLines;
txt_box4.Text = allLines;
}
这种方式更清晰、更高效,可以在内存中创建更少的字符串。