우리는 예를 들어, 내가 문자열을 가지고 있다고 가정하고, 나는 확장 오류 지정, 수정 방법?
내가 시도이 문제를 해결 무슨 작업의 연장이 필요)를 탈출, 잘 읽고 싶은.
var t = "'";
t.Escape();// == "%27" (what i need), but it not assign result to var. t
t = t.Escape();//works, but ugly.
및 확장
public static string Escape(this string string_2)
{
if (string_2.HasValue())
string_2 = Uri.EscapeDataString(string_2);
return string_2;
}
방법이 확장이 작동 고쳐?
문자열은 .NET에서 변경할 수 없습니다. 변수에 새로운 값을 할당해야합니다. –
문자열은 변경할 수 없으며 확장 메서드에서'ref'를 사용할 수 없으므로 그렇게 할 수 없습니다. – Blorgbeard
또한, 문자열 *이 * 불변이라면 어떻게 든't'를 수정 한't.Escape()'메쏘드는 다른 문자열 메쏘드가 그렇게 작동하지 않기 때문에 추한 구문이 될 것입니다! – Blorgbeard