0

使用Session属性时,set/get将被写成如下:

    public int MySessionPro
    {
        get
        {
            return Session["MySessionKey"] == null ? 0 : Convert.ToInt32(Session["MySessionKey"]);
        }
        set
        {
            Session["MySessionKey"] = value;
        }
    }

或如下:

        public int MySessionPro
        {
            get
            {
                object mySessionPro = Session["MySessionKey"];
                return mySessionPro == null ? 0 : Convert.ToInt32(mySessionPro);
            }
            set
            {
                Session["MySessionKey"] = value;
            }
        }

什么是更高效/更好的性能?第二种方法的第一种?

通过在上面的代码中用“ViewState”替换每个“Session”,同样的问题也适用。同样,这两种方法在效率方面是否不同?

4

1 回答 1

2

使用 aViewState或 aSession答案都是一样的:性能差异会非常小,除非您的ViewStateorSession对象中有很多变量。

在您的第一种方法中,您查询变量的次数是第二种方法的 1 倍。

在第二个中,您只设置了一个变量。

由于查询变量需要更多的操作,而不仅仅是设置一个额外的变量,所以第二种方法应该比第一种更有效/更好。

于 2013-07-09T15:40:49.837 回答