C# 如何将字符串转换为列表<;字符串>;类型 foreach(uniqueFields中的字符串Tablename) { List TblName=Tablename;//这里是问题所在 TblName=新列表(); Console.WriteLine(“的子项:“+TblName”); foreach(字段中的字符串TableAssociatedValue) { if(TableAssociatedValue.Contains(Tablename.Trim())) { Console.WriteLine(TableAssociatedValue); } } }
您可以指定为C# 如何将字符串转换为列表<;字符串>;类型 foreach(uniqueFields中的字符串Tablename) { List TblName=Tablename;//这里是问题所在 TblName=新列表(); Console.WriteLine(“的子项:“+TblName”); foreach(字段中的字符串TableAssociatedValue) { if(TableAssociatedValue.Contains(Tablename.Trim())) { Console.WriteLine(TableAssociatedValue); } } },c#,C#,您可以指定为 foreach (string Tablename in uniqueFields) { List<string> TblName = Tablename;//here the problem TblName = new List<string>(); Console.WriteLine("children of :" + TblName); foreach (string TableAssociatedValue in
foreach (string Tablename in uniqueFields)
{
List<string> TblName = Tablename;//here the problem
TblName = new List<string>();
Console.WriteLine("children of :" + TblName);
foreach (string TableAssociatedValue in fields)
{
if (TableAssociatedValue.Contains(Tablename.Trim()))
{
Console.WriteLine(TableAssociatedValue);
}
}
}
List TblName=新列表{Tablename};
foreach(uniqueFields中的字符串Tablename)
{
List TblName=新列表();
//
TblName.Add(表名);
//
Console.WriteLine(“的子项:“+TblName”);
foreach(字段中的字符串TableAssociatedValue)
{
if(TableAssociatedValue.Contains(Tablename.Trim()))
{
Console.WriteLine(TableAssociatedValue);
}
}
}
如前所述,不能将
string
类型的值分配给List
类型的值。您认为这怎么可能呢?您不能将列表列表
设置为字符串
-您必须将该字符串添加到列表中
foreach (string Tablename in uniqueFields)
{
List<string> TblName = new List<string>();
// <Start Changes>
TblName.Add(Tablename);
// <End Changes>
Console.WriteLine("children of :" + TblName);
foreach (string TableAssociatedValue in fields)
{
if (TableAssociatedValue.Contains(Tablename.Trim()))
{
Console.WriteLine(TableAssociatedValue);
}
}
}
List TblName=新列表{Tablename};
但是您正在将TblName
设置为一个空列表,这没有任何意义。在您的案例中不需要使用列表。只需直接使用Tablename
,因为它包含所需的内容:
List<string> TblName=new List<string>{Tablename};
foreach(uniqueFields中的字符串Tablename)
{
//非必需列表TblName=Tablename;//这里是问题所在
//没有意义,也不是必需的TblName=new List();
//Console.WriteLine(“的子项:”+TblName);//请改用下面的行
Console.WriteLine(“的子项:“+Tablename”);
foreach(字段中的字符串TableAssociatedValue)
{
if(TableAssociatedValue.Contains(Tablename.Trim()))
{
Console.WriteLine(TableAssociatedValue);
}
}
}
您被唯一字段
搞糊涂了,它可能是一个列表
?不要这样做:foreach
构造已经在枚举列表中的每个string
,并将每个字符串作为分配给循环中的Tablename
的字符串返回。因此,您不再需要处理列表本身,您可以直接使用Tablename
作为string
那会是什么问题呢?你试过/研究过什么?请阅读您是否对字符串
无法分配到列表感到惊讶
?我希望Tablename值应复制到TblName..tats it您研究了什么?添加到列表中应该很容易搜索。虽然我不明白为什么您需要这个列表,但它的作用域仅限于foreach循环,您从来都不需要它。您在哪里使用TblName
?请注意您的控制台。WriteLine
也不会像您预期的那样工作,打印出列表将产生其类名。请始终尝试解释您的答案。
List<string> TblName=new List<string>{Tablename};
foreach (string Tablename in uniqueFields)
{
// not required List<string> TblName = Tablename;//here the problem
// doesn't make sense, and is not required TblName = new List<string>();
//Console.WriteLine("children of :" + TblName); // use the line below instead
Console.WriteLine("children of :" + Tablename);
foreach (string TableAssociatedValue in fields)
{
if (TableAssociatedValue.Contains(Tablename.Trim()))
{
Console.WriteLine(TableAssociatedValue);
}
}
}