C#:(变量)字段和局部变量的作用域冲突_C#教程

C#把声明为类型级的变量看作字段,而把在方法中声明的变量看作局部变量。

复制代码 代码如下:

using System;

namespace ConsoleApplication10
{
class Program
{
static int j = 20;

public static void Main(string[] args)
{
int j = 30;
Console.WriteLine("In the Main()" + j);
Console.WriteLine(Program.j);
Console.ReadLine();
return;
}
}

此时编译器允许声明第二个变量。

时间: 2024-11-01 03:20:57

C#:(变量)字段和局部变量的作用域冲突_C#教程的相关文章

C#学习笔记整理_变量等基础语法(必看篇)_C#教程

C#学习笔记1: 变量的作用域冲突时,调用实例变量:this.a,调用类变量:类名.a 常量总是静态的,必须初始化,一般用全大写格式,声明关键字为const,如const int NUNBE = 10; C#的基本预定义类型内置于.NET Framework结构中(System),object是基类: 整型:System.SByte.System.Int16.System.Int32.System.Int64 有符号的8位.16位.32位.64位分别表示为sbyte.short.int.long

学习C#静态函数及变量的一个精典例子与代码_C#教程

(1)用于对静态字段.只读字段等的初始化.                (2)添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的.          (3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数  (4)静态构造函数是不可继承的,而且不能被直接调用.              (5)如果类中包含用来开始执行的 Main 方法,则该类的静态构造函数将在调用 Main 方法之前执行.任何带有初始值设定项的静态字

如何解决hash冲突_C#教程

1)冲突是如何产生的? 上文中谈到,哈希函数是指如何对关键字进行编址的规则,这里的关键字的范围很广,可视为无限集,如何保证无限集的原数据在编址的时候不会出现重复呢?规则本身无法实现这个目的.举一个例子,仍然用班级同学做比喻,现有如下同学数据 张三,李四,王五,赵刚,吴露..... 假如我们编址规则为取姓氏中姓的开头字母在字母表的相对位置作为地址,则会产生如下的哈希表 位置 字母 姓名 0 a 1 b 2 c ... 10    L     李四 ... 22 W 王五,吴露 .. 25  Z 

变量的内存存放与作用域

1.变量的声明.定义.初始化 一个程序可由多个源文件实现. 变量可以多次声明,但只能被定义一次. 声明通过extern关键字实现. extern int i;  //声明 int j;   //定义 2.变量的内存存放 全局变量与局部变量在没有初始化时,取初值的方式不同.前者是全0. c++内存分为代码.堆.栈.常量和全局//静态存储区. 不同变量的存储位置: 全局/静态存储区--全局变量,static变量: 栈--局部变量.函数调用时的参数.栈的容量一般比较有限: 堆--new运算符分配,需由

link 环境下定义了主键再定义唯一字段,那么是不是会冲突?

问题描述 link 环境下定义了主键再定义唯一字段,那么是不是会冲突? link 环境下定义了主键再定义唯一字段,那么是不是会冲突? 解决方案 不会,参考http://www.cnblogs.com/ShadowLoki/archive/2013/09/09/3310419.html

局部变量的作用域-多线程和函数里的静态变量

试试下面这段代码的输出是什么? #include <stdio.h> #include <process.h> #include <windows.h> class foo { public: foo() { printf( "before sleep\n" ); Sleep( 1000 ); printf( "after sleep\n" ); } void test() { printf( "in test\n&qu

浅析JavaScript中的变量复制、参数传递和作用域链_javascript技巧

今天在看书的过程中,又发现了自己目前对Javascript存在的一个知识模糊点:JS的作用域链,所以就通过查资料看书对作用域链相关的内容进行了学习.今天学习笔记主要有这样几个关键字:变量.参数传递.执行环境.变量对象.作用域链. 1.变量 变量需要注意的有两点:变量声明和复制变量值. 变量声明肯定大家都很熟悉,在JS中我们都是通过 var 关键字进行变量声明的.JS中规定,通过var声明的变量会被添加到最近的环境中,如果声明并且初始化一个变量没有用到var关键字,这个变量会被添加到全局环境中.

c++静态局部变量和静态函数示例_C 语言

在函数体内定义了一个变量,每当程序运行到该语句时都会给该局部变量分配栈内存.但随着程序退出函数体,系统就会收回栈内存,局部变量也相应失效.但有的时候我们需要在两次调用之间对变量的值进行保存.通常的想法是定义一个全局变量来实现.但是这样一来,变量已经不再属于函数本身了,不再仅受函数的控制,给程序的维护带来不便.静态局部变量正好可以解决这个问题.静态局部变量保存在全局数据区,而不是保存在栈中,每次的值保持到下一次调用,直到下次赋新值.该变量在全局数据区内分配内存:静态局部变量在程序执行到该对象的声明

浅析C#静态类,静态构造函数,静态变量_C#教程

静态变量 静态变量位于栈上,它是一个全局变量,在编译期就已经生成. public class Cow { public static int count; private int id; public Cow() { id = ++count; } } 客户端创建2个Cow的实例,并打印静态变量count. static void Main(string[] args) { Console.WriteLine(Cow.count); Cow cow1 = new Cow(); Cow cow2