小编cod*_*joe的帖子

含有的lambda中的C#linq表达式

我试图利用'包含'来模拟旧的SQL',其中id为(1,2,3,4)'过滤查询的方式.

但是我在使用它时遇到了一些困难,因为我的身份处于更深层次.

码:

 public class Category
    {
        public long Id { get; set; }
        public string Name { get; set; }
    }

    public class Characteristica
    {
        public Category Category { get; set; }
        public int Id { get; set; }
        public string Value { get; set; }
    }

    public class Person
    {
        public string Name { get; set; }
        public List<Characteristica> Appearance { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var persons = new List<Person> …
Run Code Online (Sandbox Code Playgroud)

.net linq lambda c#-4.0

11
推荐指数
1
解决办法
8万
查看次数

使用linq进行C#搜索查询

我正在尝试制作合适的linq查询以适应我的搜索功能.

我有一个包含以下列的表:'firstname'| 'lastname'| '描述'.以下数据:'彼得'| 'Mulder'| "这是一个小小的描述."

我的"搜索"关键字可能类似于:"彼得"或"一点描述".

现在,如果我在lambda中使用以下linq表达式:

mycontext.persons
    .Where(t => 
        search.Contains(t.Firstname) || 
        search.Contains(t.Lastname) || 
        search.Contains(t.Description).Select(p => p)
    .ToList();
Run Code Online (Sandbox Code Playgroud)

现在我得到了我的结果,当我使用'peter'时,但如果我使用'pete'或'一点描述',我就得不到任何结果.如何制作我的linq表达式,以便它可以在列数据中搜索匹配项?

c# linq

10
推荐指数
1
解决办法
2万
查看次数

C#LINQ to Entities无法识别方法'Boolean'

我在lambda语法中有以下linq表达式:

var myValue = 6;
var from = 2;
var to = 8;

var res = MyList.Where(m => m.person.Id == person.Id
                         && IsBetween(myValue, from, to))
                .Select(x => new Person { blah blah blah })
                .ToList());
Run Code Online (Sandbox Code Playgroud)

IsBetween是一个简单的通用助手方法,看看我之间是否有东西:

public bool IsBetween<T>(T element, T start, T end)
{
    return Comparer<T>.Default.Compare(element, start) >= 0
        && Comparer<T>.Default.Compare(element, end) <= 0;
}
Run Code Online (Sandbox Code Playgroud)

现在我收到了这个错误,我不知道如何解决它:

LINQ to Entities无法识别方法'Boolean IsBetween [Decimal](System.Decimal,System.Decimal,System.Decimal)'方法,并且此方法无法转换为商店表达式.

c# linq-to-entities

6
推荐指数
1
解决办法
7461
查看次数

从整数中获取第七位数字

我有一个10位数的整数.我需要获得该整数的第7位数.

我找到了一个数学解法来获得整数的第一个数字.

var myDigit = 2345346792;

var firstDigit = Math.Abs(myDigit);
while (firstDigit >= 10)
{
     firstDigit /= 10;
}
Run Code Online (Sandbox Code Playgroud)

我如何从myDigit获得第七位数字?我试图避免强制转换为字符串并执行子字符串.我希望看到获得第七位数字的数学版本.

任何人?

.net c# algorithm math

5
推荐指数
5
解决办法
1万
查看次数

删除集合中的重复值

我有一些List<long>长期的myIds.我正在使用id填充集合.但是,我想要删除的集合中有一些重复项.

我试过distinct()在集合上使用但没有效果.重新排序和distinct()再次申请也没有帮助.

在不编写自定义逻辑的情况下删除这些重复项的最佳方法是什么?

我试过这个:

mydIds.OrderBy(x => x).Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)

c# collections lambda

3
推荐指数
1
解决办法
6065
查看次数

在 lambda 表达式中分配局部变量

我有一个 lambda 表达式,其中需要分配一个局部变量以避免每个结果集调用我的 RetrieveAge(DatetimebirthDate) 两次。

我的 lambda 表达式如下所示:

result = myList.AsEnumerable().Where(f => DateHelper.RetrieveAge(f.Birthdate) >= 20 && DateHelper.RetrieveAge(f.Birthdate) <= 40).Select(x => new Person { Name = x.Name, Id = x.Id, Alias = x.Alias }).ToList();
Run Code Online (Sandbox Code Playgroud)

我正在尝试实现以下目标:

var result = myList.AsEnumerable().Where(f => { var age = DateHelper.RetrieveAge(f.Birthdate); age >= 20 && age <= 40 }).Select(x => new Person { Name = x.Name, Id = x.Id, Alias = x.Alias }).ToList();
Run Code Online (Sandbox Code Playgroud)

但我不知道如何正确地做到这一点。任何提示或建议将不胜感激。

c# lambda

2
推荐指数
1
解决办法
1756
查看次数

IEnumerable <>而不是List <>在读取对象时运行良好

考虑我的以下课堂专辑:

public class Album
{
    public int? Id { get; set; }
    public string Name { get; set; }
    public IEnumerable<Photo> Photos { get; set; }
    public DateTime Registered { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我没有麻烦检索数据并填充我的相册和我的照片集.

但是现在我还想在照片集中"添加"照片项目,"添加"不被视为照片上的有效方法.

'System.Collections.Generic.IEnumerable'不包含'Add'的定义,也没有扩展方法'Add'接受类型的第一个参数....

我应该怎么做才能让它与IEnumerable一起工作?我不想改变我的财产

public List<Photo> Photos { get; set;}
Run Code Online (Sandbox Code Playgroud)

我真的需要在我的Album类上实现ICollection吗?

 public class Album : ICollection<Photo> { ... }
Run Code Online (Sandbox Code Playgroud)

.net c# ienumerable

1
推荐指数
1
解决办法
292
查看次数

使用 ashx 用 html 填充 div

是否可以使用通用处理程序 (*.ashx) 返回 html,我可以在 div 标签中使用它?

就像是

<div id="foo"> [call my generic handler which returns some html to be used within this div ] </div>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它不是图像,而只是 HTML。

谷歌搜索时没有找到任何东西。

c# asp.net generic-handler

1
推荐指数
1
解决办法
6894
查看次数