m0_58590380 2022-01-04 10:29 采纳率: 60%
浏览 49
已结题

linq 将int转成string怎么写

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
    public List<V_QYPerson> getUserListFW3(string CorpId, int rows, int page, Hashtable hashParams, string CurrentUserID, bool IsSuperAdmin, out int dataCount)
    {
        List<V_QYPerson> users = new List<V_QYPerson>();
            using (IRepository<V_QYPerson> repository = ServeiceCore.GetServiceFactory.GetInstance<IRepository<V_QYPerson>>(ServiceName.IRepository))
            {
                var enterpriseId = new Guid(CorpId);
                var wbuserid = new Guid(CurrentUserID);
                var query = repository.Set<V_QYPerson>().Where(c => 1 == 1).AsQueryable();
                if (!IsSuperAdmin)
                {
                    var final = PowerHelper.GetPowerids(repository.GetDbContext, enterpriseId, wbuserid);
                    query = query.Where(t => final.Contains(t.ID)).AsQueryable();
                }
                dataCount = query.Count();
                users = query.OrderByDescending(c => c.Name).Skip((page - 1) * rows).Take(rows).ToList();
                return users;
            }
        }
    }
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

将 V_QYPerson里面的Language 0显示成中文 1显示成英文

  • 写回答

3条回答 默认 最新

  • 码老头 2022-01-04 11:04
    关注

    可以在LINQ的Select查询时进行转换,或者使用静态扩展方法转换,示例如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    
    namespace ConsoleApp4
    {
        class Program
        {
            static void Main(string[] args)
            {
                var people = new List<Person>
                {
                    new(1, 1),
                    new(2, 0),
                    new(3, 1),
                    new(4, 1),
                    new(5, 0)
                };
                var users1 = people.Select(x => new PersonDto(x.Id, x.Language, $"{(x.Language == 0 ? "中文" : "英文")}"))
                    .ToList();
                Console.WriteLine("----------方式一----------");
                Display(users1);
    
                Console.WriteLine("----------方式二----------");
                var users2 = people.Select(x => new PersonDto(x.Id, x.Language)).ToList().ConvertLanguage();
    
                Display(users2);
            }
    
            static void Display(List<PersonDto> people)
            {
                foreach (var person in people)
                {
                    Console.WriteLine(
                        $"id:{person.Id}, language:{person.Language}, language as string:{person.LanguageAsString}");
                }
            }
        }
    
        record Person(int Id, int Language);
    
        record PersonDto(int Id, int Language, string LanguageAsString = null)
        {
            internal string LanguageAsString { get; set; } = LanguageAsString;
        }
    
        static class Extensions
        {
            public static List<PersonDto> ConvertLanguage(this List<PersonDto> people)
            {
                foreach (var person in people)
                {
                    person.LanguageAsString = person.Language == 0 ? "中文" : "英文";
                }
    
                return people;
            }
        }
    }
    

    输出结果:

    ----------方式一----------
    id:1, language:1, language as string:英文
    id:2, language:0, language as string:中文
    id:3, language:1, language as string:英文
    id:4, language:1, language as string:英文
    id:5, language:0, language as string:中文
    ----------方式二----------
    id:1, language:1, language as string:英文
    id:2, language:0, language as string:中文
    id:3, language:1, language as string:英文
    id:4, language:1, language as string:英文
    id:5, language:0, language as string:中文
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月12日
  • 已采纳回答 1月4日
  • 创建了问题 1月4日

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?