asp.net 是否可以在 c# 类中包含 microsoft.visualbasic 命名空间

本文关键字:包含 microsoft visualbasic 命名空间 是否 net asp | 更新日期: 2023-09-27 18:34:13

我们可以在C#中引用Microsoft.VisualBasic命名空间吗?

例如:

using System;
...others...
using Microsoft.VisualBasic;

出现此问题以尝试使用VB"选择(iVal,Val1,Val2,Val3...)"C# 代码中的 VB 函数。

谢谢。

asp.net 是否可以在 c# 类中包含 microsoft.visualbasic 命名空间

是的,你可以。不要忘记添加程序集引用。

作为参考,ChooseMicrosoft.VisualBasic.Interaction 类中。


或者,您可以相当轻松地使自己的Choose功能:

public static object Choose(int index, params object[] choices)
{
    //note we are in 1-based land here!
    if (index < 1) return null;
    if (index > choices.Length) return null;
    return choices[index - 1];
}

如果你仔细观察,VB的Choose方法实际上需要double。文档指出它会对数字进行四舍五入,但实际上它似乎截断了它。如果需要复制此功能:

public static object Choose(double index, params object[] choices)
{
    return Choose((int)Math.Floor(index), choices);
}

是的,您可以在 C# 中使用 Microsoft.VisualBasic 命名空间。