需要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数组)进行寻址,您无需进行转换。

要回复问题请先登录注册