C# LINQ 이놈 쓰면 뭐가 좋아지는거죠?

freezm7의 이미지

C# 3.0 에 새로 도입된 LINQ 문법에 대해 조금 읽어 봤습니다.

SQL 문과 비슷한 문법이더군요.

근데, 이놈을 쓰면 딱히 뭐가 좋아진다라는걸 모르겠습니다.

이슈거리인걸 보니, 뭐가 기존의 문법에 비해서 좋은 점이 있는 것 같긴 한데,,,

딱 꼬집어서 이거 쓰면 이런 점에서 확 달라진다. 이렇게 말할 만한 장점이 뭐가 있을까요?

ps. DB 쓰지 않는 사람의 입장에서요.

달리나음의 이미지

for의 장점은 반복에 필요한 패러미터를 한 곳에 묶을 수 있다는 것이지요? LINQ의 장점은 데이터를 다룰 때 필요한 연산을 한 곳에 묶을 수 있다는 것입니다. LINQ를 C#의 컬렉션이나 XML, DB의 처리에 이용할 수 있고 그 처리 명령을 묶어둘 수 있습니다. 쓰지않아도 됩니다. for를 쓰지 않고 while만 써도 프로그램의 내용은 크게 다르지 않습니다. 마찬가지로 LINQ를 쓰지 않아서 못 짜는 프로그램도 없습니다.

하지만 저 같으면 while보다는 for를 for보다는 foreach를 쓰겠습니다.

freezm7의 이미지

"LINQ의 장점은 데이터를 다룰 때 필요한 연산을 한 곳에 묶을 수 있다는 것입니다"

정말 명쾌하게 이해시켜주시네요. 감사합니다. 생각보다 멋진 것이군요!

즐겁게 살아 볼까나~*

hongminhee의 이미지

LINQ는 원래 Haskell 같은 함수형 프로그래밍 언어에서 주로 제공하는 list comprehension을 리엔지니어링한 것입니다(라고 생각합니다). C#의 LINQ 문법이 SQL을 닮아서 그렇지 DB에만 쓰는 게 아니라 모든 enumerable한 자료구조에 대해 일반적으로 동작하는 인터페이스입니다.

홍민희 (VLAAH, LangDev)