2016-10-06 5 views
-3

文字列を置換する前に文字列をパディングして返す必要があります。 パディング後の文字列を評価し、2つのステートメントを1行にまとめる方法はありますか?C#で文字列を評価することはできますか

これは

string numberOfRecords = allRecords.Count().ToString().PadLeft(8, '0'); 
    numberOfRecords = numberOfRecords.Substring(numberOfRecords.Length-8,8); 

に動作します。しかし、これはしないの

string numberOfRecords = allRecords.Count().ToString(); 
    numberOfRecords = numberOfRecords.PadLeft(8, '0').Substring(numberOfRecords.Length-8,8); 
+2

なぜあなたは 'PadLeft'呼び出しの後に' Substring'を呼びたいでしょうか?そのサブシナリオでは 'Substring'は本質的にノーオペレーションではありませんか? – petelids

+0

あなたが何を求めているのか、何をしようとしているのかははっきりしていません。ちょっとした情報に基づいて、 'allRecords.Count()'の値を8桁のカスタム数値書式でフォーマットし、 'PadLeft()'と 'Substring()'をそのまま残しておくべきでしょう。それの。それを超えて、私たちがあなたを手伝ってくれることを実際に抱いているのはどうですか? –

+2

@petelids数字が99,999,999より大きい場合を除きます。その場合、結果は大きさの桁違いになります(100,000,000は10,000,000に切り捨てられます)。 – Rob

答えて

0

string C#で不変です。最初のケースでは、PadLeft(8, '0')を実行し、numberOfRecordsに割り当てています。したがって、更新された値(PadLeft)が含まれています。

しかし、2番目のケースでは、PadLeftを実行していますが、numberOfRecordsの値は同じになります。 numberOfRecords.Lengthを実行すると、元の値(allRecords.Count().ToString())になり、例外がスローされることがあります。

関連する問題