C# 将int附加到For C循环中字符串或文本框名称的末尾#
我有一个C#应用程序,其中有几个文本框具有相同的名称,但末尾有一个从1开始到19的数字。我希望使用for循环通过使用arraylist向这些文本框动态添加值。在某些情况下,arrayList中没有19个项目,因此某些文本框将被取消填充。这是我试图做的事情的示例代码。这可能吗C# 将int附加到For C循环中字符串或文本框名称的末尾#,c#,string,for-loop,C#,String,For Loop,我有一个C#应用程序,其中有几个文本框具有相同的名称,但末尾有一个从1开始到19的数字。我希望使用for循环通过使用arraylist向这些文本框动态添加值。在某些情况下,arrayList中没有19个项目,因此某些文本框将被取消填充。这是我试图做的事情的示例代码。这可能吗 for (int count = 0; count < dogList.Count; count++) { regUKCNumTextBox[count+1].Text=(d
for (int count = 0; count < dogList.Count; count++)
{
regUKCNumTextBox[count+1].Text=(dogList[count].Attributes["id"].Value.ToString());
}
for(int count=0;count
那么你有一组文本框要从上到下填写?然后是的,一组文本框
似乎是合适的
如果您将文本框
引用粘贴在数组或列表中
——我不会使用数组列表
,因为它被认为是不推荐使用的,而支持列表
——那么是的,您可以这样做:
TextBox[] regUKCNumTextBox = new []
{
yourTextBoxA,
yourTextBoxB,
...
};
那么,是的,您的逻辑是可能的,您还可以根据控件的名称查询该控件,尽管在运行时这会更重,所以这是一种折衷。是的,在此解决方案中,您必须设置一个集合来保存文本框引用,但这样会更有效。所以您有一个从上到下填充的文本框集合?然后是的,一组
文本框
似乎是合适的
如果您将文本框
引用粘贴在数组或列表中
——我不会使用数组列表
,因为它被认为是不推荐使用的,而支持列表
——那么是的,您可以这样做:
TextBox[] regUKCNumTextBox = new []
{
yourTextBoxA,
yourTextBoxB,
...
};
那么,是的,您的逻辑是可能的,您还可以根据控件的名称查询该控件,尽管在运行时这会更重,所以这是一种折衷。是的,在此解决方案中,您必须设置一个集合来保存文本框引用,但这样会更有效。尝试以下方法:
(顺便说一下,我假设您使用WinForms)
for(int count=0;count
使用此代码,您将尝试查找控件
表单s控件
集合。然后您必须确保控件是文本框
类型。当它是;将其投射到文本框中
,然后使用它执行您想要的操作。在这种情况下;为文本
属性指定一个值
像James Michael Hare提供的解决方案那样,保存一个文本框的集合将更加有效。请尝试以下方法:
(顺便说一下,我假设您使用WinForms)
for(int count=0;count
使用此代码,您将尝试查找控件
表单
s控件
集合。然后您必须确保控件是文本框
类型。当它是;将其投射到文本框中
,然后使用它执行您想要的操作。在这种情况下;为文本
属性指定一个值
像James Michael Hare提供的解决方案那样,保存您的
文本框的集合将更为有效;这里的整体设计似乎有点不太对劲;但回顾过去,这里有一些可能有效的伪代码:
for (int count = 0; count < dogList.Count; count++)
{
var stringName = string.Format("myTextBoxName{0}", count);
var ctrl = FindControl(stringName);
if(ctrl == null) continue;
ctrl.Text = dogList[count];
}
for(int count=0;count
Yikes;这里的整体设计似乎有点不太对劲;但回顾过去,这里有一些可能有效的伪代码:
for (int count = 0; count < dogList.Count; count++)
{
var stringName = string.Format("myTextBoxName{0}", count);
var ctrl = FindControl(stringName);
if(ctrl == null) continue;
ctrl.Text = dogList[count];
}
for(int count=0;count
您是否尝试过示例代码?如果它不起作用,您看到了什么错误,或者出现了什么意外的结果?您是否尝试过示例代码?如果它不起作用,您看到了什么错误,或者出现了什么意外的结果?它起作用的只是文本框中的值为System.Xml.XmlElementTry。InnerText
而不是。value.ToString()
仍然产生相同的结果。这很奇怪,因为如果我有完全相同的代码,除了直接使用其名称将其分配给文本框外,它工作正常。除了文本框中的值是System.Xml.xmlementtry。InnerText
而不是。value.ToString()
仍会产生相同的结果。这很奇怪,因为如果我有完全相同的代码,除了直接使用其名称将其分配给文本框,它工作正常。当我尝试这样做时,我得到了一个错误。我尝试这样做:TextBox[]regUKCNumTextBox=new[]{REGKCNUMTEXTBOX1;REGKCNUMTEXTBOX2;REGKCNUMTEXTBOX3;REGKCNUMTEXTBOX4;REGKCNUMTEXTBOX5;REGKCNUMTEXTBOX6;REGKCNUMTEXTBOX7;REGKCNUMTEXTBOX8;REGKCNUMTEXTBOX9;}当我尝试这样做时,我遇到了一个错误。我尝试这样做: