c#类中字段和方法中变量的声明问题
字段和局部变量的作用域冲突
某些情况下可以区分名称相同,作用域相同的两个标识符。原因是C#在变量之间有一个基本的区分,它把在类级别声明的变量看作
字段,而把在方法中声明的变量看作局部变量。
class Program
{
int j = 20;
static void Main(string[] args)
{
int j = 30;
Console.WriteLine(j);
Console.ReadKey();
}
}
虽然在Main()方法的作用域内声明了两个j,这段代码也会编译。在类级别上定义的j,在该类删除前是不会超出作用域的,在
Main()中声明的j隐藏了同名的类级别变量,所以运行代码时会显示30.
感觉可以用方法中的变量更改来达到保护或者隐藏类中字段的意思?
c#类中字段和方法中变量的声明问题的更多相关文章
- 为什么局部内部类中访问同一方法中的变量,该变量一定要是final修饰的
最近有一个疑惑:为什么局部内部类中访问同一方法中的变量,该变量一定要是final修饰的 首先,我们看一个局部内部类的例子: class OutClass { ...
- scala编程笔记(三)类,字段和方法
类,字段和方法 类是对象的蓝图,能够通过new来创建对象.在类的定义里能够有字段和方法.统称member val还是var都是指向对象的变量(var定义的字段可又一次赋值),def定义方法,包括可运行 ...
- Android中Application全局方法(变量)的调用
Application和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息.通常我们是 ...
- 【Android开发经验】使用反射,得到的类的字段、方法、并实现了简单的调用
本文后推出Android的ICO框架做准备,所以,假设你想要一个最近的一项研究Android的ICO学生框架.你可以稍微看一下. 首先,简介一下Java里面的反射. JAVA反射机制是在执行状态中,对 ...
- 匿名内部类不能访问外部类方法中的局部变量,除非变量被声明为final类型
1. 这里所说的"匿名内部类"主要是指在其外部类的成员方法内定义,同时完成实例化的类,若其访问该成员方法中的局部变量,局部变量必须要被final修饰.2. 原因是编译程序实现上的困 ...
- 详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析]
目录 前言 现象 源码分析 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口介绍 HandlerMethodArgumen ...
- OC对象中的getter方法中不能用self.
@interface boy:NSObject { int _age; } - (void)setAge:(int)age; - (int)age; @end @implementation boy ...
- 详解SpringMVC中Controller的方法中参数的工作原理——基于maven
转自:http://www.tuicool.com/articles/F7byQn 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:ht ...
- 【MVC - 参数原理】详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析]
前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/spring ...
随机推荐
- 点击checkbox全选,其它被选中,再点击取消
<input type="checkbox" value="" id="checkall" name="" siz ...
- .netcore2.0 发布CentOS7
1.一般在windows pc上使用vscode 开发好.netcore 程序如果需要发布到其他平台需要注意一些事情 首先需要明白2个概念:FDD(Framework-dependent deploy ...
- Grid标签计算结果集中的合计行
方法一: var detailT= grid.gettable("11"); var r=detailT.rows.length; detailT.rows[r-1].cells[ ...
- hdu 1011 树形背包
http://blog.csdn.net/libin56842/article/details/9876503 这道题和poj 1155的区别是: poj1155是边的价值,所以从边的关系入手 hdu ...
- react+antd 选项卡切换
index.js: import React from 'react'; import ReactDOM from 'react-dom'; import CardSecond from './Car ...
- web前端开发需要具备的技能
web前端开发需要具备以下7种技能: 1.页面标记(HTML) HTML页面固定,标签不多,相对来说学起来比较容易.编写HTML代码需遵循HTML代码规范(http://www.cnblogs.com ...
- 关于moucedown 的3种触发方式
与 click 事件不同 mousedown 按下鼠标就可以触发 click 只能用鼠标左键触发, 而mousedown 可以由单击.中键.或右击 触发 根据对event.which 的判断,可以 ...
- awk日志分析
前言 今天我们来讲讲如何用awk进行网站日志分析,得到页面平均耗时排行 文件 [xingxing.dxx@30_28_6_20 ~]$ cat logs /Oct/::: +] GET /pages/ ...
- C#开发小技巧
001.判断一个Form是否已关闭并释放,需要从引用和对象两方面来判断,判断引用是否为null:mainfm==null判断引用的对象是否已释放:mainfm.IsDisposedMainFormma ...
- 【Python之搜索引擎】(一)概述
learning goal--search engine 1.Find datas - crawl 2.Index 3.page rank String操作 提取网络中的链接 Extracting a ...