为了账号安全,请及时绑定邮箱和手机立即绑定

带有 For-Each 循环的元组

带有 For-Each 循环的元组

C#
慕田峪9158850 2021-08-22 15:41:28
我不确定我在这里做错了什么,或者是否真的有问题。这可能完全是一个疏忽,这就是为什么我将它发送给社区看一看。我正在客户端创建一个ListofTuple<T,Boolean>并通过 REST JSON 返回到 WCF。我在服务器端得到的值非常好。但是,当我尝试在for each循环中使用它们时,这些项目显示为NULL并出错。有趣的是,我for each用经典for循环替换了循环,代码完美地运行在文件中。下面是我正在使用的代码。还附上图像,其中包含有关我放在这里的场景的详细信息。//This code failsforeach (Tuple<Candidate, Boolean> cand in candidateList) //candidateList has got items perfectly in it.{  Candidate cd = cand.Item1; //cand comes out as NULL    if (cd.IsShortlisted)       InsertShortCandidates(jobPost.JobID.ToString(), cd.UserID, cd.MatchingScore.ToString());    else       RemoveShortCandidates(jobPost.JobID.ToString(), cd.UserID);}//This code runs perfectly finefor (Int32 idx = 0; idx < candidateList.Count; idx++) // As expected candidateList has got items.{    Tuple<Candidate, Boolean> cand = candidateList[idx]; // Here cand has got values good to be used further.     Candidate cd = cand.Item1;    if (cd.IsShortlisted)       InsertShortCandidates(jobPost.JobID.ToString(), cd.UserID, cd.MatchingScore.ToString());    else       RemoveShortCandidates(jobPost.JobID.ToString(), cd.UserID);}
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

您可以通过这种方式轻松遍历 Tuple,假设我有一个类


班级


  public class MyClass

    {



        public int Counter { get; set; }

    }

元组列表


 List<Tuple<MyClass, bool>> listoftuple = new List<Tuple<MyClass, bool>>();

设置元组列表


  for (int i = 0; i <=10; i++)

        {

            MyClass cls = new MyClass();

            cls.Counter = i;

            Tuple<MyClass, bool> tuple =

                new Tuple<MyClass, bool>(cls, true);

            listoftuple.Add(tuple);


        }

获取元组值


 foreach (Tuple<MyClass, bool> item in listoftuple)

        {

            Tuple<MyClass, bool> gettuple = item;

            Console.WriteLine(gettuple.Item1.Counter);

            Console.WriteLine(gettuple.Item2);



        }

你的代码有问题


您代码中的问题是 foreach 循环的第一行


候选 cd = cand.Item1;


尝试替换为


Tuple<Candidate, Boolean> cd = cand

然后


Candidate candidate = cd.Item1


查看完整回答
反对 回复 2021-08-22
  • 1 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信