要構建稀疏填充的固定寬度記錄,我想從給定位置開始將字符串字段複製到StringBuilder對象中。一個漂亮的語法這將是在C#中,執行「靜態」複製到StringBuilder對象的子字符串中
StringBuilder sb = new StringBuilder(' ', 100);
string fieldValue = "12345";
int startPos = 16;
int endPos = startPos + fieldValue.Length - 1;
sb[startPos..endPos] = fieldValue; // no such syntax
我能明顯這樣做C形式,一個字符時間:
for (int ii = 0; ii++; ii < fieldValue.Length)
sb[startPos + ii] = fieldValue[ii];
但這似乎這樣的C#太麻煩了,再加上它使用一個循環其中最終的機器代碼可以更有效地使用批量複製,如果涉及的字符串很長,這可能會有所不同。任何想法更好的方法?
謝謝 - 這正是我正在尋找。我永遠不會想到它作爲一個不可變System.String的方法:)謝謝! –