gpt4 book ai didi

C# 将 T 转换为 long

转载 作者:太空狗 更新时间:2023-10-29 22:17:20 25 4
gpt4 key购买 nike

我有一个通用类 (C#),

class MyClass<T> where T : struct, IComparable<T>
{
public T filelocation;
}

T 可以是 UInt32 或 UInt64(没有别的)。

我需要将 filelocation 转换为 long 以在文件中查找...

我试过以下方法

long loc = (T)myclass.filelocation;

long loc = (T)(object)myclass.filelocation;

但似乎没有任何效果......

有什么想法吗?

最佳答案

调用Convert.ToInt64

编写 (object)fileLocation 创建一个装箱的 UInt32
Boxed value types can only be unboxed to their original value types ,所以你不能一步将它转换为 long
您可以编写 (long)(ulong)fileLocation,但出于同样的原因,对于 uint 这将失败。

关于C# 将 T 转换为 long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5857558/

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