2017-04-17 11 views
-2

文字列は次のようにフォーマットされ、銀行口座の取引をリストし、リストを持っているI:彼らはリストで整数値の文字列リストを検索するのにC#Listの問題がありますか?

Withdrawn 200 
Deposited 200 etc.. 

ように見える

("Withdrawn" + amount) 
("Deposited" + amount) 

、私は方法それを作成することを意図しています100から150の間で取り消すと定義されている疑わしい活動を見つけるので、私は.Contain("withdrawn")を使って単語を取り除いた各要素を見つけますが、どれが100から150までの間にあるのかをどのように見つけますか?

文字列型なので、文字列型のときはどうすればIf (100 > amount > 150)のようにするのですか?

文字列をトリムして、数字の文字列部分を解析して/に変換しようとしていますか?

助けが必要ですか?

+0

入力の例とこれまでに試したことを教えてください。 – DavidG

+0

'List >'を使うことをお勧めします。これは、情報の処理と検索がはるかに簡単です。 – CNuts

+0

コード例を教えてください。あなたの問題を明確にしてください。 – MetaColon

答えて

0

文字列の場合Withdrawn 200その後、Replace()メソッドを使用して、私はトランザクションIDと呼ばれるモデルがあることを前提とし

string str = "Withdrawn 200"; 
int val = str.Contains("Withdrawn") 
      ? Convert.ToInt32(str.Replace("Withdrawn","").Trim()) 
      : 0; 

bool result = val >= 100 && val <= 150; 
0

のようにチェックして、詳細プロパティ。 次に、次のクエリを適用して必要なリストを取得しました。

static void Main (string [ ] args) 
{ 
    List<Transaction> accounts = new List<Transaction> 
    { 
     new Transaction { ID = 1, Details = "Withdrawn 100"} , 
     new Transaction { ID = 2, Details = "Withdrawn 200"} , 
     new Transaction { ID = 3, Details = "Deposited 100"} , 
    }; 

    var query = accounts. 
      Where (x => x.Details.Contains ("Withdrawn") && Convert.ToDecimal (x.Details.Replace ("Withdrawn" , "").Trim()) > 100). 
      ToList(); 

    ReadKey(); 
} 

public class Transaction 
{ 
    public int ID { get; set; } 
    public string Details { get; set; } 
} 
+0

トランザクションIDを使用してモデルを作成しますが、アクチンとアンマウントを分割しませんか? –

+0

私はこのモデルを定義して問題のシミュレーションを行いましたが、**詳細**文字列をアクションと量に分割したくありませんでした。私はトランザクションレコードの識別子として**トランザクションID **を提供し、必要な結果を返すためにトランザクションの**詳細**を照会するだけです。 –

関連する問題