亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從控制器調用列表類

從控制器調用列表類

C#
慕俠2389804 2022-11-13 14:22:38
如何從控制器調用我的班級列表?這是我的模型:public class AuthJsonResponses{    public int Code { get; set; }    public string Jwt { get; set; }    //public string[] Message { get; set; }    public List<RootObject> Message { get; set; }}public class RootObject{    public string msg { get; set; }    public string code { get; set; }}這就是我在控制器中調用的:List<RootObject> rootObj = new List<RootObject>();rootObj[0].code = "success_04";rootObj[0].msg = "Access granted";JsonRes.Message = rootObj;但是,我不知道的范圍似乎存在問題。我的代碼有什么問題?
查看完整描述

5 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

您可以執行以下操作之一:


 List<RootObject> rootObj = new List<RootObject>();

        var newObj=new RootObject()

        {

            code = "success_04",

            msg = "Access granted"

        };

        rootObj.Add(newObj);

        List<RootObject> rootObj1 = new List<RootObject>()

        {

            new RootObject()

            {

                code = "success_04",

                msg = "Access granted"

            }

        };

接著


JsonRes.Message = rootObj;


查看完整回答
反對 回復 2022-11-13
?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

您正在像處理數組一樣處理列表,這是行不通的,您需要使用該Add方法,例如


rootObj.Add(new RootObj{

    code = "success_04",

    msg = "Access granted"

});

您還可以使用該AddRange方法添加多個對象,例如


rootObj.AddRange(new List<RootObj>{new RootObj{

    code = "success_04",

    msg = "Access granted"

}, new RootObj{

    code = "success_05",

    msg = "Access denied"

}});


查看完整回答
反對 回復 2022-11-13
?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

直接訪問您的AuthJsonResponses實例。首先,更新該類以使其Message具有私有設置器并將其實例化為List<RootObject>


public class AuthJsonResponses

{

    public int Code { get; set; }

    public string Jwt { get; set; }

    public List<RootObject> Messages { get; private set; } = new List<RootObject>();

}


public class RootObject

{

    public string msg { get; set; }

    public string code { get; set; }

}

在您的代碼中,直接將對象添加到Message屬性中。我建議將其重命名為Messages以表明它是一個集合


jsonRes.Messages.Add(new RootObject{msg ="Access granted", code="success_04"});


查看完整回答
反對 回復 2022-11-13
?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

您面臨的問題是您在初始化列表之后引用列表的第一個元素!初始化本身只是創建List類的對象,它不創建任何元素!


因此,您必須自己創建RootObject類的對象,然后將其添加到列表中:


// create object

var r = new RootObject();

r.code = "success_04";

r.msg = "Access granted";

// add it to list

rootObj.Add(r);


查看完整回答
反對 回復 2022-11-13
?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

當您List實際使用時,您可以使用從類繼承的方法IEnumerable,因為 List 是 IEnumerable 的實現。


你可以這樣做:


List<RootObject> rootObj = new List<RootObject>();

//delete this---- rootObj[0].code = "success_04";

//delete this---- rootObj[0].msg = "Access granted";

//use this

rootObj.Add(new RootObject{

code = "success_04",

msg = "Access Granted"

})

JsonRes.Message = rootObj;


查看完整回答
反對 回復 2022-11-13
  • 5 回答
  • 0 關注
  • 170 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號