代码之家  ›  专栏  ›  技术社区  ›  Razor

需要一个将导致Array.ConstrainedCopy()失败的场景

c#
  •  2
  • Razor  · 技术社区  · 15 年前

    根据MSDN的说法,它被视为一种原子操作。如果在复制过程中失败,则整个调用将失败,从而导致没有复制与其Array.copy()对应的元素。

    有人能演示一下或者告诉我怎么做吗?

    此代码在两种类型的副本中都失败。我想看一个Array.Copy()只复制一些元素的例子,以便更好地了解在何处可以使用这两种形式的复制。

    object[] yer = new object[] { "as", "qwe", "re", 1 };
    
        string[] copy = new string[yer.Length];
    
        Array.ConstrainedCopy(yer, 0, copy, 0, yer.Length); // runtime error
    
        Array.Copy(yer, 0, copy, 0, yer.Length); //runtime error
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   Philippe Leybaert    15 年前

    可以将Object[]类型的数组复制到String[]类型的数组。当源数组中的一个元素无法转换为字符串时,复制将失败。 数组。复制 只会在发生错误的地方停止,而 将回滚整个操作。