如何在一个C#函数中为两个或多个不同的变量使用相同的名称
本文关键字:变量 一个 函数 两个 | 更新日期: 2023-09-27 18:27:09
如何删除已声明和定义的变量?
例如,在C++中,我会做:
int x;
..
delete x;
我如何在C#中做到这一点?
(我需要做这样的事情:
switch (something)
{
case 1:
int Number;
break;
case 2:
float Number;
break;
}
但我做不到,因为Number已经被大小写1占用了……我想要相同的名称,所以我想在声明float Number之前删除int Number,这样编译人员就不会对我大喊大叫了;p
您可以使用大括号使作用域不重叠:
switch (something)
{
case 1: {
int Number;
}
break;
case 2: {
float Number;
}
break;
}
超出作用域是从您所说的意义上"删除"变量名的唯一方法。值得注意的是,与其他一些语言不同,C#不允许将局部变量与其他变量隐藏在更有限的作用域中——作用域必须不重叠(在C#中,这意味着从大括号开始,而不仅仅是声明点!)。我的意思是,这段代码在C和C++中是合法的(对Java不确定),它将导致C#中的编译器错误:
int Number;
{
float Number;
}