for 循环贯穿值
本文关键字:循环 for | 更新日期: 2023-09-27 18:36:13
我正在尝试运行一个 for 循环来运行值,但我不确定如何正确执行此操作。
string[] GoogleID = { "ga:1381000", "ga:1860066"};
// Loop with the foreach keyword.
foreach (string value in GoogleID)
{
if (GoogleID.ToString() == "ga:1381000")
{
WebName = "Yes";
}
else
{
WebName = "No";
}
}
我做错了什么? 如何让它检查这两个值?
它说我的 GoogleID.ToString = String[] 的字符串
你会想这样做。
string[] GoogleID = { "ga:1381000", "ga:1860066"};
// Loop with the foreach keyword.
foreach (string value in GoogleID)
{
if (value == "ga:1381000")
{
WebName = "Yes";
}
else
{
WebName = "No";
}
}
您可以使用 LINQ:
WebName = GoogleId.Any(s => s == "ga:1381000") ? "Yes" : "No";
另一个 LINQ 建议。
WebName = GoogleID.Contains("ga:1381000") ? "Yes" : "No"
应更正代码,如以下示例代码片段所示:
string[] GoogleID = { "ga:1381000", "ga:1860066" };
string WebName;
// Loop with the foreach keyword.
foreach (string _val in GoogleID)
{
WebName = (_val == "ga:1381000") ? "Yes" : "No";
}
为了获得更好的性能,您可以使用以下代码片段:
string[] GoogleID = { "ga:1381000", "ga:1860066" };
string WebName;
// Loop with the for keyword.
for (int i = 0; i < GoogleID.Length; i++ )
{
WebName = (GoogleID[i] == "ga:1381000")? "Yes":"No";
}
希望这可能会有所帮助。
您可以使用 for 循环,如下所示:-
string[] GoogleID = { "ga:1381000", "ga:1860066" };
//use for loop
for (int i = 0; i < GoogleID.Length; i++)
{
if (GoogleID[i].ToString() == "ga:1381000") //use index here
{
WebName = "Yes";
}
else
{
WebName = "No";
}
}
var WebName = GoogleID.Contains("ga:1381000") ?"是" : "否"
每次通过循环时,它都会检查组中的第一个元素(GoogleID或GoogleID[0])。因此始终为真,并且始终打印"是"它应该检查"值"。 请参阅下面的细微更改。我将"值"更改为 X 以突出显示它。
字符串网站名称;
string[] GoogleID = { "ga:1381000", "ga:1860066"};
// Loop with the foreach keyword.
foreach (var X in GoogleID)
{
if (X == "ga:1381000")
{
WebName = "Yes";
}
else
{
WebName = "No";
}
}
此处功能齐全的版本:https://dotnetfiddle.net/lihDeY