2017-04-17 1 views
-2

나는 은행 계좌의 거래를 나열하는 목록이 캐릭터 라인은 형식이있다 : 그들은 목록에서문자열 목록에서 정수 값을 검색 할 때 C# List와 관련된 문제가 있습니까? 로

Withdrawn 200 
Deposited 200 etc.. 

같이

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

, 나는 방법 생성을 의미하고있어 그 100에서 150 사이에서 철수하는 것으로 정의되는 의심스러운 활동을 찾습니다. 따라서 .Contain("withdrawn")을 사용하여 철회 된 단어가있는 각 요소를 찾았지만 그 중 어느 것이 100에서 150 사이의 금액인지 어떻게 알 수 있습니까?

문자열 유형이므로 문자열 유형 일 때 If (100 > amount > 150)과 같은 작업을 수행하려면 어떻게해야합니까?

문자열을 잘라내어 숫자 문자열 부분을 Int로 구문 분석/변환하려고합니까?

어떤 도움이 필요합니까?

+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 **를 트랜잭션 레코드의 식별자로 제공하고 트랜잭션의 ** 세부 정보 ** 만 쿼리하여 필요한 결과를 반환합니다. –

관련 문제