internal void SetValue(String value, int index)
{
InternalST.Soap("PrimitiveArray value ", value," index ", index, " code ",((Enum)code).ToString());
switch(code)
{
case InternalPrimitiveTypeE.Boolean:
booleanA[index] = Boolean.Parse(value);
break;
case InternalPrimitiveTypeE.Char:
if ((value[0] == '_') && (value.Equals("_0x00_")))
charA[index] = Char.MinValue;
else
charA[index] = Char.Parse(value);
break;
case InternalPrimitiveTypeE.Double:
if (value == "INF")
doubleA[index] = Double.PositiveInfinity;
else if (value == "-INF")
doubleA[index] = Double.NegativeInfinity;
else
doubleA[index] = Double.Parse(value, CultureInfo.InvariantCulture);
break;
case InternalPrimitiveTypeE.Int16:
int16A[index] = Int16.Parse(value, CultureInfo.InvariantCulture);
break;
case InternalPrimitiveTypeE.Int32:
int32A[index] = Int32.Parse(value, CultureInfo.InvariantCulture);
break;
case InternalPrimitiveTypeE.Int64:
int64A[index] = Int64.Parse(value, CultureInfo.InvariantCulture);
break;
case InternalPrimitiveTypeE.SByte:
sbyteA[index] = SByte.Parse(value, CultureInfo.InvariantCulture);
break;
case InternalPrimitiveTypeE.Single:
if (value == "INF")
singleA[index] = Single.PositiveInfinity;
else if (value == "-INF")
singleA[index] = Single.NegativeInfinity;
else
singleA[index] = Single.Parse(value, CultureInfo.InvariantCulture);
break;
case InternalPrimitiveTypeE.UInt16:
uint16A[index] = UInt16.Parse(value, CultureInfo.InvariantCulture);
break;
case InternalPrimitiveTypeE.UInt32:
uint32A[index] = UInt32.Parse(value, CultureInfo.InvariantCulture);
break;
case InternalPrimitiveTypeE.UInt64:
uint64A[index] = UInt64.Parse(value, CultureInfo.InvariantCulture);
break;
}
}
}