我有一个列表,想要按一个字段的ASCII代码进行排序。什么是LINQ中的ASCII方法的等价物。
revisions = revisions.OrderBy(x => Ascii(x.SubRevision) % 90).ToList();
LINQ中不存在方法Ascii
。我怎么用呢?
答案 0 :(得分:0)
它与LINQ无关。如果x.SubRevision
是char属性,您只需将其转换为整数即可获得ASCII值:
revisions = revisions.OrderBy(x => ((int)x.SubRevision) % 90).ToList();
答案 1 :(得分:0)
System.Data.Objects.SqlClient.SqlFunctions.Ascii(x.Subrevision)
。这将获取x.Subrevision中最左边的字符,并为其提供ASCII代码。
但是,此方法只能用于LINQ to Entities查询,而不能用于LINQ to SQL。
与其他人一样,C#中的字符可以转换为int以获得相同的效果。因此,如果x.Subrevision是一个字符,你只需将其转换为int,如果它是一个字符串,你可以将最左边的字符转换为字符串,如下所示:
(int)x.Subrevision[0]