我正在尝试查找索引所在位置
EventName=NewYearParty; //I know the value of the eventname
在名称为--> event_array 的数组中
我尝试了这段代码,但它不起作用:
index_event = Array.FindIndex(userlister[5].event_array, row => row.EventName == NewYearParty);
这是我的结构:
public struct Events
{
public string EventName;
public string Organizator;
public Events(string Name, string Org)
{
EventName = Name;
Organizator = Org;
}
}
这是我的类(class):
public class users
{
public Socket U;
public string Name;
public Events[] event_array;
public string[] status;
public users()
{
U = null;
Name = "";
event_array = new Events[50];
status = new string[50];
}
}
这是另一个数组:
public users[] userlister = new users[50];
您知道找到该索引的其他方法吗?
最佳答案
它有点难看(因为你最终迭代了两次),但你可以写:
Events[] event_array = userlister[5].event_array;
Array.IndexOf(event_array, event_array.First(e => e.EventName == "NewYearParty"));
请参阅 Array.IndexOf
了解更多信息 ( MSDN )。您也可以随时使用 while
循环:
int index = 0;
bool found = false;
Events[] event_array = userlister[5].event_array;
while (!found && index < event_array.Length)
{
if (event_array[index].EventName == "NewYearParty")
found = true;
else
index++;
}
//Index of the element in "index"
这些都不是真正安全的;如果元素不存在,第一个将抛出异常;如果元素不存在,第二个将退出并返回 found
false。但是,这些情况是可以管理的(实现作为练习),这可以帮助您完成大部分工作:)
关于c# - 如何在 C# 中的另一个数组内部的结构内部的数组中查找变量的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27412974/