クラスライブラリリファレンスによると、String.TrimStartにnullまたは空の配列を渡すと空白文字が削除されるそうです。
戻り値
Type: System.String
現在の文字列の先頭から、trimChars パラメーターの文字をすべて削除した後に残った文字列。 trimChars が null または空の配列の場合は、代わりに空白文字が削除されます。
知らなかったので、検証してみました。
検証コード
using Microsoft.VisualStudio.TestTools.UnitTesting; namespace SandboxTest { [TestClass] public class UnitTest1 { [TestMethod] public void 半角スペース1つにnull() { Assert.AreEqual("abc", " abc".TrimStart(null)); } [TestMethod] public void 半角スペース2つにnull() { Assert.AreEqual("abc", " abc".TrimStart(null)); } [TestMethod] public void 全角スペース1つにnull() { Assert.AreEqual("abc", " abc".TrimStart(null)); } [TestMethod] public void 全角スペース2つにnull() { Assert.AreEqual("abc", " abc".TrimStart(null)); } [TestMethod] public void 半角スペース1つに空の配列() { Assert.AreEqual("abc", " abc".TrimStart(new char[] { })); } [TestMethod] public void 半角スペース2つに空の配列() { Assert.AreEqual("abc", " abc".TrimStart(new char[] { })); } [TestMethod] public void 全角スペース1つに空の配列() { Assert.AreEqual("abc", " abc".TrimStart(new char[] { })); } [TestMethod] public void 全角スペース2つに空の配列() { Assert.AreEqual("abc", " abc".TrimStart(new char[] { })); } } }
検証結果
確かにその通りになっていました。