小编Mic*_*ton的帖子

将c#Array.CreateInstance创建的非基于0的数组转换为集合T.

我正在尝试将vb6代码转换为c#代码.我的vb6源代码包含各种类型的数组,经过Vs2005工具转换后,这些数组已成为基于0的数组,但我需要重新转换为非基于0的数组.例如,我尝试使用Array.CreateInstance显式转换为T []用于通用用法:

public void ResizeArrayBaseN<T>(ref T[] original, int firstLower, int firstCount)
{
    try
    {
        int[] myBoundsArray = new int[1] {firstLower };
        int[] myLengthsArray = new int[1] {firstCount - firstLower + 1 };
        original = (T[])Array.CreateInstance(typeof(T), myLengthsArray, myBoundsArray);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
Run Code Online (Sandbox Code Playgroud)

但我正在捕捉从T [*]到T []错误的演员表.有谁可以帮助我吗 ?提前致谢

c# arrays collections casting zero

3
推荐指数
1
解决办法
62
查看次数

标签 统计

arrays ×1

c# ×1

casting ×1

collections ×1

zero ×1