以编程方式检查文本框的完整性

Programmatically check textboxes for completeness

我正在寻找一种方法来确定文本框是否以特定方式填充。

我有以下文本框:

X1 Y1 Z1
X2 Y2 Z2
X3 Y3 Z3

希望用户不断输入。例如,如果只有 X1,Y1 有文本,它是有效的。而如果 X1,Z1 有文本而 Y1 没有,则无效。

之所以这样是因为:

string G1
if(!string.IsNullOrWhiteSpace(X1.Text) && string.IsNullOrWhiteSpace(Y1.Text))
{
  G1 = "<" + X1.Text + ">";
}
else if(!string.IsNullOrWhiteSpace(X1.Text) && !string.IsNullOrWhiteSpace(Y1.Text))
{
  G1 = "<" + X1.Text + ">, ";
}

如果他们跳来跳去,那么最后打印的将不是预期的。

如果您能想到一种更简单的方法来完成所有这些,请分享。我确信我解决这个问题的方法非常简单和低效。

我找到的答案是使用文本框数组,然后对其进行迭代以确定已填写框的文本。然后将这些框中的文本添加到列表中。

最后我加入了该列表的所有项目,使最终输出正确。

我最后使用的代码:

string[] cells = new string[] { X1.Text, Y1.Text, Z1.Text, X2.Text, Y2.Text, Z2.Text, X3.Text, Y3.Text, Z3.Text };
List<string> final_cells = new List<string>();
//Process array to determine which cells are full, adds full cells to list
for (int i = 0; i < cells.Length; i++)
{
  if(cells[i].Length == 0)
  {
   //If cell is empty, continue to the next one
   continue;
  }
  else
  {
   // If cell is full add its contents to the final_cells list
   final_cells.Add(cells[i]);
  }
}
//Join the list to one string
string content = string.Join(">, <", final_cells);

也很抱歉我没有更好的说明原来的情况

最终应用程序的目的是以特定格式输出文本以供 minecraft 插件读取。 3x3 的文本框旨在模仿游戏中的制作网格。

这部分应用程序应该添加的食谱类型不需要使用 9 items/blocks,并且没有形状(因此从技术上讲用户输入每个项目名称的位置并不重要) .因此,必须完全忽略空盒子,程序需要知道接下来是否有东西,所以我不能简单地说食谱在第一个空盒子处结束。

<item1> <item2> 的输出无效,正确的格式是 <item1>, <item2>。然而,输入也可以是单个项目...所以这个 <only_item> 是一个有效的格式。

我希望清楚它的功能是什么,以及为什么它对我的申请很重要。