private unsafe String[] GetStringArray(uint iOffset)
{
if (iOffset == 0) return new String[0];
// The offset value is in char, and is related to the begining of string pool.
ushort* pCount = m_pPool + iOffset;
int count = (int)pCount[0]; // The number of strings in the array
BCLDebug.Assert(count != 0,
"[CultureTableRecord.GetStringArray]Expected non-zero length array");
String[] values = new String[count];
// Get past count and cast to uint
uint* pStringArray = (uint*)(pCount + 1);
// Get our strings
for (int i = 0; i < count; i++)
values[i] = GetString(pStringArray[i]);
return (values);
}