如何解决需要Char []数组帮助
| 我有一个保存公司名称的数据库中的对象集合。 我需要获取所有已区分标题(.distinct())的首字母(char [])。 目前我有类似的东西:public char[] GetBrandsAlphabet()
{
using (var dc = ReturnContext())
{
var resultBrands =
from brands in dc.Brands
orderby brands.Title ascending
select brands.Title.tochararray()[0];
char[] ret = new char[resultBrands.distinct().Count()];
}
}
解决方法
return resultBrands.Distinct().ToArray();
但是,这可能无法完全按照您想要的方式工作,因为Distinct
原则上可以更改元素的顺序。我将从sql语句中删除orderby
语句并使用:
return resultBrands.Distinct().OrderBy(c => c).ToArray();
,用以下内容替换最后一行:
char[] ret = resultBrands.Distinct().ToArray();
或者,嘿,用这种内胆代替其他所有东西呢?
char[] ret = (from brands in dc.Brands
select brands.Title.ToUpper[0]).Distinct().OrderBy(c => c).ToArray();
ToUpper
保证最终数组中不会同时包含\'A \'和\'a \'。,好,其他人已经说过了。但是,您可以改进此部分:
var resultBrands =
from brands in dc.Brands
orderby brands.Title ascending
select brands.Title[0];
字符串已经可以通过索引(例如char数组)进行寻址,您无需进行转换。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。