빈 채워진 고정 폭 레코드를 작성하려면 주어진 위치에서 시작하여 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의 메소드로서 그것을 찾기 위해 절대로 나에게 일어나지 않을 것이다 :) Thanks! –