gpt4 book ai didi

python - 如何用另一种类型的值覆盖 C# 中的变量?

转载 作者:行者123 更新时间:2023-12-04 08:27:20 27 4
gpt4 key购买 nike

在 Python 中,我习惯于在没有编译器提示的情况下做这样的事情:

test = "Hello"
test = 1
我现在正在尝试学习 C#,但它不允许我覆盖这样的变量,因为它们有不同的类型:
string test = "Hello";
int test = 3;
上面的代码片段会抛出一个错误:

Error CS0128 A local variable or function named 'test' is alreadydefined in this scope


一种可能的解决方法是执行以下操作:
string testString = "Hello";
int testInt = 3;
但我认为这是不好的做法,原因有两个:
  • 它强制您为每种类型设置一个变量,即使您不再需要第一种类型
  • 它将内存分配给代码中不再需要的类型。

  • 真的没有干净的方法来覆盖 C# 中的变量或其类型吗?我已经非常习惯于在 python 中执行此操作,并且在我看来它允许编写干净的代码。

    最佳答案

    C# 是一种静态类型语言,这意味着一旦声明了一个变量,就不能改变它的类型。
    例如,取 int x=12; . x只接受数值;你不能在其中存储像“osman”这样的字符串。
    您可以使用 dynamic像下面这样:

    dynamic test = "osman";
    test = 2;
    test = 3.4;

    关于python - 如何用另一种类型的值覆盖 C# 中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65197960/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com