2017-03-22 18 views
-1

IDがnullでない場合、すべてのダッシュを自動的に削除するコードがあります。これらはまた、常に9つの数字を持つ必要があるということが私の注目を集めました。しかし、ゼロでリードすると、0は自動的に切り捨てられます。 idに別の条件を追加するにはどうすればいいですか?何かのようにLinqの2つの条件

if i.id.length < 9正面に0を9になるまで追加しますか?

オリジナルコード

retval.Add(new SpreadsheetColumnSetup<Row>("ID", i => 
    (i.Id == null) 
     ? i.Id 
     : i.Id.Replace("-", ""))); 
+0

ints.Add(新しいオブジェクト( "ID"、I =>(i.Id == nullのを使用している場合i.Idまた、ヌル条件演算子との全体的なラムダを簡素化することができます.Id.Replace( " - "、 "")&& i.Id.Length <9?..append zeros))); –

+0

"0で始まる場合、0は自動的に切り捨てられます。"あなたは先行ゼロを含む文字列に設定していると言っていますが、何とか削除されていますか? –

答えて

3

使用PadLeft方法を提案しました。 ?私は:あなたがC#6+

i => i.Id?.Replace("-", "").PadLeft(9, '0') 
3

あなたはstring.PadLeft()を使用することができます:@ itsme86として

i => (i.Id == null ? i.Id : i.Id.Replace("-", "").PadLeft(9, '0')) 
+0

文字列から文字を繰り返したりnull参照例外をここで取得します –

+0

@SergeyBerezovskiyありがとう、修正済み。 – itsme86

+0

いいえ、あなたはまだ 'someNullString.Select(blah-blah)'を持っています。 –