gpt4 book ai didi

c# - C# 中未指定类型的变量?

转载 作者:太空狗 更新时间:2023-10-29 23:55:21 27 4
gpt4 key购买 nike

我是否可以声明一个没有类型的变量,然后根据某些条件指定类型?例如,我想根据用户希望使用的大小创建一个 SHA 哈希对象:

        //get the Sha hasher
var shaHash;

switch (this.HASH_ALGORITHM)
{
case HashAlgorithm.SHA256: //HashAlgorithm is an enum.
shaHash = SHA256.Create();
break;
case HashAlgorithm.SHA384:
shaHash = SHA384.Create();
break;
case HashAlgorithm.SHA512:
shaHash = SHA512.Create();
break;
}

//... do hashing

这可能吗?

最佳答案

不,那行不通。但是,鉴于所有这三种类型都继承自 System.Security.Cryptography.HashAlgorithm,您可以声明该类型的变量:

HashAlgorithm shaHash;

switch(this.HASH_ALGORITHM)
{
// snip
}

编辑

补充一下,var shaHash; 不起作用的原因是 var 只是表达“我不确定最好的”的简写方式在这里使用的类型,所以请为我推断它”。编译器要求您指定一个初始值,以便它可以确定要使用的最佳类型。

关于c# - C# 中未指定类型的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6468940/

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