DefaultArrayConverter
using System.Collections;
namespace System.Text.Json.Serialization.Converters
{
internal sealed class DefaultArrayConverter : JsonEnumerableConverter
{
public override IEnumerable CreateFromList(ref ReadStack state, IList sourceList, JsonSerializerOptions options)
{
Type elementType = state.Current.GetElementType();
Array array2;
if (sourceList.Count > 0) {
Array array = sourceList[0] as Array;
if (array != null) {
array2 = Array.CreateInstance(array.GetType(), sourceList.Count);
int num = 0;
{
foreach (IList source in sourceList) {
Array array3 = source as Array;
if (array3 != null)
array2.SetValue(array3, num++);
}
return array2;
}
}
}
array2 = Array.CreateInstance(elementType, sourceList.Count);
sourceList.CopyTo(array2, 0);
return array2;
}
}
}