C#遍历Dic,List

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生成。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值