永发信息网

C# foreach语句为啥只显示第一条?

答案:3  悬赏:20  手机版
解决时间 2021-05-05 00:17
  • 提问者网友:孤山下
  • 2021-05-04 09:34

public static List<Duty> GetDutyById(int id)
    {
       string s="1,2,3,4,5":
                     string[] p =s.split(',');
        foreach (string i in p)
        {

            var d = from t in db.GetTable<Duty>()
                    where t.d_id == Convert.ToInt32(i)
                    select t;
           return d.ToList();
        }
       return null;
    }

最佳答案
  • 五星知识达人网友:雾月
  • 2021-05-04 10:12
foreach (string i in p)
    {

    var d = from t in db.GetTable<Duty>()
    where t.d_id == Convert.ToInt32(i)
    select t;
    return d.ToList();   //你写这个循环里面,,循环执行一次就return了啊
    }

全部回答
  • 1楼网友:醉吻情书
  • 2021-05-04 11:55

public static List<Duty> GetDutyById(int id)     {

list<Duty> duty =new list<duty>();     string s="1,2,3,4,5":     string[] p =s.split(',');     foreach (string i in p)     {

    var d = from t in db.GetTable<Duty>()     where t.d_id == Convert.ToInt32(i)     select t;            duty.Add(d);     }     return duty;     }

linq 不是很明白 , 不知道这样子可不可以。 楼主可以试试。

  • 2楼网友:冷風如刀
  • 2021-05-04 10:48
return 了 所以就现实一条 要把所有的都加到list里面去了 才return 哈
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯