【问题标题】:Accessing array elements within a session object访问会话对象中的数组元素
【发布时间】:2013-09-10 21:51:49
【问题描述】:

我的 c# 类中有一个会话对象,其中包含 ArrayList 类型的数据。如何访问会话对象中的数组?

鉴于下图,我将如何访问 _confNum 值?

【问题讨论】:

    标签: c# asp.net session httpcontext


    【解决方案1】:

    HttpSession 是一个键对象存储。 C# 是强类型的,你需要转换 []-accessor 的结果。

    TripAssignment[] logs = (TripAssignment[])HttpContext.Current.Session["DriverTripLog"];
    TripAssignment log = logs[0];
    

    顺便说一句,如果可能的话,你不应该使用 ArrayList。

    ArrayList logs = (ArrayList)HttpContext.Current.Session["DriverTripLog"];
    TripAssignment log = (TripAssignment)logs[0];
    

    【讨论】:

    • 在您的第一行,我收到一个错误“无法将类型 'object' 隐式转换为 'TripAssignment[]'
    • 这是编译器对您问题的回答。 固定
    【解决方案2】:

    只需投射即可。

    ArrayList myAL = (ArrayList)Session["DriverTripLog"];
    
    TripAssessment myObj = myAL[0]; 
    

    【讨论】:

      【解决方案3】:
      var list = Session["DriverTripLog"]!=null? (ArrayList)Session["DriverTripLog"]:null;
      

      【讨论】:

        猜你喜欢
        • 2016-01-12
        • 2014-06-10
        • 1970-01-01
        • 2020-08-12
        • 1970-01-01
        • 1970-01-01
        • 2020-11-19
        • 2019-09-30
        • 1970-01-01
        相关资源
        最近更新 更多