asp.net处理参数个数不确定的函数(c#)
答案:3 悬赏:10 手机版
解决时间 2021-11-22 05:17
- 提问者网友:無理詩人
- 2021-11-21 10:11
asp.net处理参数个数不确定的函数(c#)
最佳答案
- 五星知识达人网友:廢物販賣機
- 2021-11-21 10:17
//假设student的对象列表是students
//假设student里的list的名字是clubs
//假设club有一个唯一标识的字段为id,因为club是引用对象,所以直接==比较可能不行
//假设目标社团为club1,club2
students.Where(s => s.clubs.Any(t => t.id == club1.id) && s.clubs.Any(t => t.id == club2.id)).ToArray();也可以写个方法
public student[] FilterWithClubs(student[] students, params club clubs)
{
return students.Where(s => clubs.All(t => s.clubs.Any(u => u.id == t.id))).ToArray();
}追问多谢请教,想问一下(s => clubs.All(t => s.clubs.Any(u => u.id == t.id))) 的思路是什么样的? linq?
以及在model中唯一标识的字段是如何设置的..?
不好意思刚刚开始学.net..还在研究之中....如果觉得解释起来麻烦,可以告诉我该看的相关教程...多谢了追答嗯,名字也可以的,就是和别的都不一样的,在数据库来说就是主键的字段。
思路就是在一个学生参加的社团中,包含所提供的社团列表中的每一个的社团。追问多谢你的耐心指教。不好意思可能是我表达不清楚,(s => clubs.All(t => s.clubs.Any(u => u.id == t.id))) 中的t和u是什么变量呢...?追答这是Lambda表达式,也就是简单的方法。s,t,u分别是执行这些Lambda表达式的参数。s是学生对象,t是club列表里的社团对象,u是学生参加的社团里的社团对象。
//假设student里的list
//假设club有一个唯一标识的字段为id,因为club是引用对象,所以直接==比较可能不行
//假设目标社团为club1,club2
students.Where(s => s.clubs.Any(t => t.id == club1.id) && s.clubs.Any(t => t.id == club2.id)).ToArray();也可以写个方法
public student[] FilterWithClubs(student[] students, params club clubs)
{
return students.Where(s => clubs.All(t => s.clubs.Any(u => u.id == t.id))).ToArray();
}追问多谢请教,想问一下(s => clubs.All(t => s.clubs.Any(u => u.id == t.id))) 的思路是什么样的? linq?
以及在model中唯一标识的字段是如何设置的..?
不好意思刚刚开始学.net..还在研究之中....如果觉得解释起来麻烦,可以告诉我该看的相关教程...多谢了追答嗯,名字也可以的,就是和别的都不一样的,在数据库来说就是主键的字段。
思路就是在一个学生参加的社团中,包含所提供的社团列表中的每一个的社团。追问多谢你的耐心指教。不好意思可能是我表达不清楚,(s => clubs.All(t => s.clubs.Any(u => u.id == t.id))) 中的t和u是什么变量呢...?追答这是Lambda表达式,也就是简单的方法。s,t,u分别是执行这些Lambda表达式的参数。s是学生对象,t是club列表里的社团对象,u是学生参加的社团里的社团对象。
全部回答
- 1楼网友:酒醒三更
- 2021-11-21 11:49
http://www.plugnet.cn/html/jsjl/show-632.html说的比较详细
- 2楼网友:行雁书
- 2021-11-21 11:17
object[]或者params object[]都可以,不过后者更灵活。另外我感觉你的题意不清楚,不妨用伪代码的形式写出你想实现的,然后再看是否有对应机制。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯