2

C# 3.5 のコードが 1 つあります。の種類が知りたいですpostActivity。これが辞書型であることは知っていますが、正確な型が見つかりません。

これは私のコードです。

var postActivity = new[] 
{                           
    new {Key="ActivityId63",
         Value=new {LikeActId= 61, CommentActId = 63, CommentLikeActId = 79 }},                           
    new {Key="ActivityId67",
         Value=new {LikeActId= 65, CommentActId = 67, CommentLikeActId = 78}},                          
    new {Key="ActivityId75",
         Value=new {LikeActId= 73, CommentActId = 75, CommentLikeActId = 80}},
    new {Key="ActivityId83",
         Value=new {LikeActId= 82, CommentActId = 83, CommentLikeActId = 84}}
}.ToDictionary(kv => kv.Key, kv => kv.Value);

int a = postActivity["ActivityId63"].LikeActId;

これは正常に動作しますが、私の問題は - これはvar型ですが、この値全体をコンストラクターで初期化し、postactivity をグローバル変数として作成したいということです。

4

1 に答える 1

4

匿名型を使用している場合は、var を使用する必要があります。それを取り除くために作成しますclass

public class LinkAct
{
    public int LinkActId { get; set; }
    public int CommentActId { get; set; }
    public int CommentLikeActId { get; set; }
}

そして、あなたの辞書はDictionart<string, LinkAct>

Dictionary<string, LinkAct> postActivity = new[]
                    {                           
                        new {Key="ActivityId63", Value=new LinkAct {LikeActId= 61, CommentActId = 63, CommentLikeActId = 79 }},
                        new {Key="ActivityId67", Value=new LinkAct {LikeActId= 65, CommentActId = 67, CommentLikeActId = 78}},
                        new {Key="ActivityId75", Value=new LinkAct {LikeActId= 73, CommentActId = 75, CommentLikeActId = 80}},
                        new {Key="ActivityId83", Value=new LinkAct {LikeActId= 82, CommentActId = 83, CommentLikeActId = 84}}
                   }.ToDictionary(kv => kv.Key, kv => kv.Value);

    int a = postActivity["ActivityId63"].LikeActId;
于 2013-05-23T09:35:42.473 に答える