C#遍历字典
有个C#的Dictionary<string,Hello>
的字典,找到某个属性值,下面的代码都是找到字典或者List中hello对象sex属性为false的代码。
Dictionary<string, Hello> dict = new Dictionary<string, Hello>();
// 添加一些 Hello 对象到字典中
dict.Add("1", new Hello("John", true));
dict.Add("2", new Hello("Jane", false));
dict.Add("3", new Hello("Bob", false));
foreach (KeyValuePair<string, Hello> kvp in dict)
{
if (!kvp.Value.sex)
{
Console.WriteLine("Found a Hello object with sex set to false:");
Console.WriteLine("Key = {0}, Name = {1}, Sex = {2}", kvp.Key, kvp.Value.name, kvp.Value.sex);
}
}
public class Hello
{
public string name;
public bool sex;
}
C#遍历List
一些共有的代码
public class Hello
{
public string name;
public bool sex;
public Hello(string name, bool sex)
{
this.name = name;
this.sex = sex;
}
}
List<Hello> helloList = new List<Hello>();
// 添加一些 Hello 对象到列表中
helloList.Add(new Hello("John", true));
helloList.Add(new Hello("Jane", false));
helloList.Add(new Hello("Bob", false));
使用For
private void Dosomething()
{
for (int i = 0; i < helloList.Count; i++)
{
if (!helloList[i].sex)
{
Console.WriteLine("Found a Hello object with sex set to false:");
Console.WriteLine("Name = {0}, Sex = {1}", helloList[i].name, helloList[i].sex);
}
}
}
使用foreach
foreach (Hello hello in helloList)
{
if (!hello.sex)
{
Console.WriteLine("Found a Hello object with sex set to false:");
Console.WriteLine("Name = {0}, Sex = {1}", hello.name, hello.sex);
}
}
使用 List.Where的方法
List<Hello> falseSexHellos = helloList.Where(h => h.sex == false).ToList();
foreach (Hello hello in falseSexHellos)
{
Console.WriteLine("Found a Hello object with sex set to false:");
Console.WriteLine("Name = {0}, Sex = {1}", hello.name, hello.sex);
}
使用List.FirstOrDefault的方法
Hello firstFalseSexHello = helloList.FirstOrDefault(h => h.sex == false);
if (firstFalseSexHello != null)
{
Console.WriteLine("Found the first Hello object with sex set to false:");
Console.WriteLine("Name = {0}, Sex = {1}", firstFalseSexHello.name, firstFalseSexHello.sex);
}
使用IEnumerable.Where的方法
IEnumerable<Hello> falseSexHellos2 = helloList.Where(h => h.sex == false);
foreach (Hello hello in falseSexHellos2)
{
Console.WriteLine("Found a Hello object with sex set to false:");
Console.WriteLine("Name = {0}, Sex = {1}", hello.name, hello.sex);
}
Enjoy
部分代码由ChatGPT生成。