我正在處理一個文件解析器,並且這段代碼沒有給我我想要的東西。在我走得更遠之前,我應該提到我沒有寫這個程序,我只是編輯源代碼來解決這個特定的問題。另外,我可以編譯代碼,所以這不是問題(你知道下載的程序總是有編譯錯誤)。這是代碼。現在如何獲取System.String對象的值而不是返回「System.String []」
case EsfValueType.Binary4E: //System.String[]
{
int size = (int)(this.reader.ReadUInt32() - ((uint)this.reader.BaseStream.Position));
var strings = new string[size/4];
for (int i = 0; i < size/4; i++)
strings[i] = this.stringValuesUTF16[this.reader.ReadUInt32()];
esfValue.Value = strings.ToString();
break;
}
,我加入了.ToString();
部分上面的線,但它並沒有區別。問題是esfValue.Value以System.String[]
作爲值,因此我需要System.String對象的值。如果你能從中瞭解並告訴我什麼是錯誤的,那將是值得讚賞的。
程序名稱爲ESF Editor 1.4.8.0。
你說「System.String對象的值」 - 哪一個?它們有'size/4'。從根本上說,你正在閱讀幾個字符串 - 我們不知道你是否想要一個包含所有數據的字符串(以某種方式分開?只是混合在一起?)或者只是其中一個值... –
您可能想要考慮重寫使用'StringBuilder' –
@Rowland:在我們知道最終結果是什麼之前,我看不到'StringBuilder'如何提供幫助。 –