C# 在未知大小的字符串数组中循环的最佳方式是什么?
我想循环一个字符串数组 string elements=“item1、item2、item3” 循环并将该数组中的每个项放入各自的单独变量的最佳方法是什么?我还希望能够循环数组中项数未知的字符串数组。任何帮助都将不胜感激。当我使用的字符串中有三个以上的项时,下面的代码就会失败,比如说字符串中有4个或5个项C# 在未知大小的字符串数组中循环的最佳方式是什么?,c#,loops,C#,Loops,我想循环一个字符串数组 string elements=“item1、item2、item3” 循环并将该数组中的每个项放入各自的单独变量的最佳方法是什么?我还希望能够循环数组中项数未知的字符串数组。任何帮助都将不胜感激。当我使用的字符串中有三个以上的项时,下面的代码就会失败,比如说字符串中有4个或5个项 public void getString(string anyString) { foreach (var element in elements.Where(el
public void getString(string anyString)
{
foreach (var element in elements.Where(el => !string.IsNullOrEmpty(el)))
{
if (element == "item1")
{
string gotTheElement = element;
myOtherMethod(gotTheElement);
if (element == "item2")
{
string gotTheElement2 = element;
myOtherMethod(gotTheElement);
}
if (element == "item3")
{
//do something
}
}
}
}
public void myOtherMethod(string anyString)
{
//do whatever with the string you got.
}
我试试看,这就是你想做的吗 编辑: 添加了一个计数器以测试数组中的每个项是否都已处理
public string GetString(string anyString)
{
var elements = anyString.Split(',');
var count = 0;
foreach (var element in elements.Where(element => element.Contains("item"))) {
switch (element)
{
case "item1": //do something
count++;
break;
case "item2": //something else
count++;
break;
default:
return "unknow element";
}
}
return elements.Count() != count ? "not all elements was handled? or unknown elements with not 'item' string got passed" : "done?";
}
编辑(再次)
在我试图了解你想要做什么的过程中,我查看了你的个人资料,我发现你对这个问题有类似的回答,你也试着问了几次同样的问题。你需要退一步,先问自己一个问题。您正在编写服务器端
或客户端
代码
:与您的示例类似的是创建网页的代码服务器端
:是发生在页面上的类似JavaScript的代码(在浏览器上-因此在客户端使用Client-Side ie一词)客户端
您不能期望在页面(
客户端
)上传递对象的html字符串,然后使用它(服务器端
)在客户端
上再次使用它。我认为您可能应该更好地解释您试图对这些“项目”执行的操作字符串?对吗?我会根据评论中的拔牙来回答这个问题,我仍然不能100%确定这是否是你想要的,但是你想要这样的东西吗
更改
public void getString(string[] anyString)
{
foreach (var element in anyString.Where(el => !string.IsNullOrEmpty(el)))
{
if (element == "item1")
{
myOtherMethod(element);
}
else if (element == "item2")
{
myOtherMethod(element);
}
else if (element == "item3")
{
myOtherMethod(element);
}
}
}
public void myOtherMethod(string anyString)
{
//do whatever with the string you got.
}