VBA(我假设VB)有一个Variant类型,我认为它占用了更多的内存,但涵盖了各种数据类型.
c#中有等价物吗?
在Windows窗体中说我有以下内容,我如何修改z的类型以使其运行正常
private void uxConvertButton_Click(object sender, EventArgs e)
{
int x = 10;
byte j = (byte)x;
upDateRTB(j);
long q = (long)x;
upDateRTB(q);
string m = x.ToString();
upDateRTB(m);
}
void upDateRTB(long z) {
MessageBox.Show(this,"amount; "+z);
}
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 13
void upDateRTB(object z) {
MessageBox.Show(this, "amount; " + Convert.ToString(z));
}
Run Code Online (Sandbox Code Playgroud)
如果您在谈论C#中的“变体”类型,请查看dynamic.net 4.0 中的类型。
但是要解决您的任务,z.ToString()在您的应用中就足够了MessageBox.Show
一个对象参数会接受所有,但如果你想保持变量强类型(并避免在过程中装箱),你可以使用泛型:
void upDateRTB<T>(T z) {
MessageBox.Show(this,"amount; "+ Convert.ToString(z));
}
Run Code Online (Sandbox Code Playgroud)
方法调用可以保持完全相同,因为编译器可以根据给定的参数解析泛型类型.