gpt4 book ai didi

c# - VB 与 C# — CType 与 ChangeType

转载 作者:可可西里 更新时间:2023-11-01 08:01:51 25 4
gpt4 key购买 nike

为什么这在 VB.Net 中有效:

Dim ClipboardStream As New StreamReader(
CType(ClipboardData.GetData(DataFormats.CommaSeparatedValue), Stream))

但这会在 C# 中引发错误:

Stream is a Type, which is not valid in the current context

ClipboardStream = new StreamReader(Convert.ChangeType(
ClipboardData.GetData(DataFormats.CommaSeparatedValue), Stream));

老实说,我并不是 100% 了解类型转换,我只在代码片段中使用过它们,现在我正在尝试将简单的 VB 代码片段转换为 C# 版本...

最佳答案

ChangeType 接受一个 Type 作为第二个参数,所以你应该写成 typeof(Stream)typeof(Stream) 评估为表示类型 StreamType 实例。仅在那里使用 Stream 是行不通的,因为它不会计算出一个值。这不是一个表达式。

无论如何,你不应该在这里使用ChangeType,你应该cast,这是C# equivalent CType:

 ClipboardStream = new StreamReader((Stream)ClipboardData.GetData(DataFormats.CommaSeparatedValue));

关于c# - VB 与 C# — CType 与 ChangeType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50112541/

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