只是在使用.NET中的一些API,我似乎无法找到导致Array.ConstrainedCopy()失败的方法。
根据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
答案 0 :(得分:1)
您可以将Object []类型的数组复制到String []类型的数组中。当源数组中的某个元素无法转换为字符串时,副本将失败。 Array.Copy 将停止发生错误的位置,而 Array.ConstrainedCopy 将回滚整个操作。