Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ-按对象分组以创建字符串_C#_Linq - Fatal编程技术网

C# LINQ-按对象分组以创建字符串

C# LINQ-按对象分组以创建字符串,c#,linq,C#,Linq,所以我有一个叫做Version的对象 它包含一个州列表和一个日期列表 我想首先: 按状态分组,并创建所有状态的字符串(逗号分隔) 按日期分组,并创建所有日期的字符串(逗号分隔) 以下是我尝试过的: Date = Version.States.GroupBy(v => v.Date).Select(vh => vh.ToString()).ToString(), State = Version.States.GroupBy(s => s.State).Select(st =>

所以我有一个叫做Version的对象

它包含一个州列表和一个日期列表

我想首先:

  • 按状态分组,并创建所有状态的字符串(逗号分隔)
  • 按日期分组,并创建所有日期的字符串(逗号分隔)
  • 以下是我尝试过的:

    Date = Version.States.GroupBy(v => v.Date).Select(vh => vh.ToString()).ToString(),
    State = Version.States.GroupBy(s => s.State).Select(st => st.ToString()).ToString()
    
    有人能帮我吗?

    你可以使用:


    您不需要使用
    GroupBy
    ,您可以使用
    Distinct
    来获得更高效的独特项目。然后可以使用
    String.Join
    构建字符串:

    var uniqueStates = Version.States.Select(vs => vs.State).Distinct();
    var uniqueDates  = Version.Dates.Select(vd => vd.Date).Distinct();
    string commaSeparatedStates = String.Join(",", uniqueStates);
    string commaSeparatedDates  = String.Join(",", uniqueDates);
    

    你需要使用
    string。加入
    试试这个

    var Dates = string.Join(",",Version.States.GroupBy(v => v.Date).Select(vh => vh.ToString()));
    var States = string.Join(",",Version.States.GroupBy(s => s.State).Select(st => st.ToString()));
    
    试试这个:

        var states = Version.States.Aggregate(string.Empty, (c, state) => c + state.ToString() + ",").TrimEnd(new []{','});
        var dates = Version.Dates.Aggregate(string.Empty, (c, date) => c + date.ToString() + ",").TrimEnd(new []{','});
    

    什么是
    状态
    日期
    ,这些是其他类吗?这是状态:公共虚拟IList状态{get{return{u STATES;}集{u STATES=value;}}然后状态有以下内容:公共虚拟状态状态{get;set;}公共虚拟日期时间偏移量SDate{get;set;}但是.TrimEnd(new[]{',})仍然在末尾留下逗号?
        var states = Version.States.Aggregate(string.Empty, (c, state) => c + state.ToString() + ",").TrimEnd(new []{','});
        var dates = Version.Dates.Aggregate(string.Empty, (c, date) => c + date.ToString() + ",").TrimEnd(new []{','});