static 使用要注意的地方

 protected static string headimg = string.Empty;

  这里用到 static ,下面如果这样写
   object himg = DBUtility.DbHelperSQL.GetSingle(hstr);
        if (himg != null)
         {
             headimg = "http://www.16njl.com" + Convert.ToString(himg);
         }给headimg 赋值,存在则赋值,不存在数据 则 没处理 headimg  这样会出现错误 , 当你 不重新给赋值 headimg 赋值时,headimg 的值会一直保存下去, 即使 重新换个 账号 登录, 这个值只要没有被重新赋值 就一直存在(可能有时间限制,但时间很长), 当下一个 账号 没有 改变 headimg 的值时, 就会使用 上一个账户 存在的 headimg ,从而出现错误。
  protected static string headimg = string.Empty;
        protected void Page_Load(object sender, EventArgs e)
        {        } 这种方式的 static 不会因为 换了账户 headimg==string.Empty;  headimg 的值不会变,除非在函数内重新赋值。

所以一定要写成这种方式 :
  object himg = DBUtility.DbHelperSQL.GetSingle(hstr);
                if (himg != null)
                {
                    headimg = "http://www.16njl.com" + Convert.ToString(himg);
                }
                else
                {
                    headimg = "";  // 记得重新赋值
                }

 或者 去掉  static .
时间: 2024-12-18 20:32:15

static 使用要注意的地方的相关文章

(转) oc static extern 和const

static 全局的,可以改的,如果在一个类中声明static,类中其他地方用到的时候,也是使用的改变量.和java类似,但不能用类名直接访问. const 是常量,不可以改的 extern 1.假如其他a类中已经声明了meString,你在另外一个b类中想使用这个变量,可以extern NSString* meString;会得到a类中同样的值,且可重新赋值.(参考点击打开链接 参考:点击打开链接 2.就是它的字面意思外部的,不是扩展,如果外部没定义是不能用的,当然还有一个其他用法extern

Android中static和final用法小结

Java关键字static.final使用小结 static  1. static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的区别是: 对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的).对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变

objectiveC【语法】修饰符 static extern const

转自http://blog.csdn.net/xpwang168/article/details/8087143 const const最好理解,修饰的东西不能被修改 指针类型根据位置的不同可以理解成3种情况: I 常量指针 // 初始化之后不能赋值,指向的对象可以是任意对象,对象可变. NSString * const pt1; II 指向常量的指针 // 初始化之后可以赋值,即指向别的常量,指针本身的值可以修改,指向的值不能修改 const NSString * pt2; III 指向常量的

java笔记——Java关键字static、final使用小结

static  1. static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的区别是: 对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的).对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活). 2

Java之关键字static和final的使用

static 在Java中声明属性.方法时,可使用关键字static来修饰. 1.static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量. 两者的区别是:对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的).对于实例变量,没创建一个实例,就会为实例变量分配一次

Java关键字static、final使用小结

static  1. static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的区别是: 对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的).对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活). 2

Django 静态文件 static

一.概述: #静态文件交由Web服务器处理,Django本身不处理静态文件.简单的处理逻辑如下(以nginx为例): # URI请求-----> 按照Web服务器里面的配置规则先处理,以nginx为例,主要求配置在nginx. #conf里的location |---------->如果是静态文件,则由nginx直接处理 |---------->如果不是则交由Django处理,Django根据urls.py里面的规则进行匹配 # 以上是部署到Web服务器后的处理方式,为了便于开发,Dja

2.一步一步学c#(二):核心c#

简单的控制台应用程序. 代码(它有把某条消息写到屏幕上的一个类组成) 编译并运行程序得到结果: 在上面的代码示例中,前几行代码与名称空间有关,名称空间是把相关类组合在一起的方式.namespace关键字声明了应与类相关的名称空间.编译器在using语句指定的名称空间中查找没有在当前名称中定义但在代码中应用的类. using Systme; namespace Work { 如果没有using,就必须完全限定对Console.WriteLine()方法的调用,如下 System.Console.W

一 什么是web框架?

Django-1 一 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. import socket def handle_request(client): buf = client.recv(1024) client.send("HTTP/1.1 200