2014-11-24 7 views
0

저는 ASP.NET Web Forms 응용 프로그램을 작성 중입니다. 나는 내가 Id이 GUID가 사실인지 확인해야하는 여러 장소에서 재산문자열이 GUID LINQ에 있는지 확인하십시오.

public string Id { get; set; }

와 클래스 Client 있습니다. List<Client> clients (클라이언트)에서 나는 진짜 IdClient 아닌 GUID가있는 경우 코드를 많이 그냥 확인하는 것입니다

Guid GuidID; 
foreach (Client item in clients) 
{ 
    bool isGUID = Guid.TryParse(item.Id, out GuidID); 
    if (!isGUID) 
    { 
     hasExistingClient = true; 
    } 
} 
if (hasExistingClient) 
{ 
    // Do something... 
} 

예를 들어이 코드가 있습니다. 가능하다면 Linq 질의를 작성하고 싶습니다.

if (clients.Any(c => c.Id is GUID)) 

같은 뭔가하지만 난 is GUID의 장소에 쓸 모르겠어요.

답변

9
Guid guidID; 
bool hasGUID = clients.Any(c => Guid.TryParse(c.Id, out guidID)); 
0

OfType을 사용하여 Guid 유형의 항목에서 값을 추출 할 수 있습니다. 그러나, 당신이 문자열에 값을 가지고 있기 때문에 이것이 필요할 것이라고 생각합니다.

var result = items.OfType();

var items = new[] {"{Guid 1}", "{Guid 2}"}.ToList(); 
      var guidItem = new Guid(); 
      var result = from item in items 
       where Guid.TryParse(item, out guidItem) 
       select guidItem; 

      if (result.Any()) 
      { 
       // you have got some itesm... 
      } 
:

그래서 당신은 당신이 사용할 수있는 케이스

관련 문제