전체 글326 [C#] 링크(LINQ)란? LINQ란? LINQ(Language-INtegrated Query)의 약자인 LINQ는 데이터 질의(Query) 기능을 C#에서 사용할 수 있는 기술입니다. 쉽게 설명하자면 C#의 배열, 컬렉션, XML, DataSet 등... 에서 내가 원하는 데이터만 가져오고 싶은 경우 사용할 수 있는 기술이라고 말할 수 있습니다. LINQ의 장단점을 알아보기 전에 LINQ가 무엇인지 다음 예제를 통해 간략하게 알아봅시다. 다음 예제는 배열에서 대문자 "A"로 시작하고 문자열의 길이가 3보다 큰 문자열을 LINQ로 추출한 뒤 콘솔에 출력합니다. class Program { static void Main(string[] args) { string[] strArr = { "Apple", "Banana", "Car", .. 2023. 5. 22. [C#] Nullable type, int? 널러블 타입 오늘은 C#에 존재하는 특별한 타입인 Nullable Type에 대해서 이야기 해보려합니다. 다들 C# 코드를 보다보면 "int 물음표"(=int?) 타입을 가끔씩 보시지 않았나요? 아니, int 타입이면 int 만 쓸것이지 뒤에 물음표는 뭐지? 하시는 분들이 있을 것 입니다. C#에서는 Null을 가질 수 없는 타입들에게 특별히 Null을 가질 수 있게 하는 Nullable Type 이라는 개념을 도입했습니다. (java에서도 비슷한게 있다는걸 들었는데.. java는 공부를 안해서..모르겠네요) > 목차 1. Nullable Type 이란? 2. Nullable Type의 선언 방법, 속성과 메서드, 사용법 및 주의점 3. 다양한 Nullable Type 예제 4. Nullable 다시한번 총정리 그럼.. 2023. 5. 22. [C#] Nullable<T> 타입 Nullable 타입의 도입 C#에서 정수, 부동자릿수, 구조체 등의 Value Type은 NULL을 가질 수 없다. 예를 들어, 정수 int i 가 있을 때 변수 i에는 null을 할당할 수 없으며, 따라서 변수 i는 어떤 값이 할당되지 않은 상태 (missing value)를 가질 수 없다. 만약 정수형 변수 i에 값이 설정되지 않은 상태를 할당하려면, 개발자는 2가지 방법을 사용할 수 있을 것이다. 즉, (1)프로그램에서 사용될 것 같지 않은 특정 값을 추정하여 할당하던지 (예를 들어, int i = int.MaxValue;) (2) 아니면 또 하나의 변수를 두어 변수 i가 missing임을 나타내게 할 수 있다 (예를 들어, bool iHasValue = false;). 이 두번째 방식이 Null.. 2023. 5. 22. [C#] Parse(string s)와 TryParse(string s, out int result) 함수 다양한 숫자 형식(int, long, float 등)에 있는 TryParse 메서드를 사용하여 문자열을 숫자로 변환할 수 있다. 문자열의 시작과 끝에 있는 공백은 무시하지만 다른 모든 문자는 적절한 숫자 형식(int, long, ulong, float, 10진수 등)을 구성하는 문자여야만 한다. 예를 들어 int.TryParse이면 문자열은 반드시 정수가 들어가야 하는 것이다. 1. Parse 메소드 int numVal = Int32.Parse("-105"); Console.WriteLine(numVal); 의 결과는 Output: -105로 정수로 변환이 되어 출력된다. 이것은 그냥 Parse로, 값을 변환해주는 메소드이다. 1. TryParse 메소드 int j; if (Int32.TryParse(".. 2023. 5. 22. [C#] TryParse 숫자체크 C#에서 특정 string값의 숫자 체크(number check)가 필요할 경우 TryParse라는 함수를 활용해 간단하게 숫자 체크가 가능합니다. 특징 : 체크해야될 string값이 숫자인 경우, int타입으로 컨버팅해 리턴가능 체크해야될 string값이 숫자가 아닌 경우, 설정한 기본값으로 리턴 가능 *기본적으로 TryParse()의 리턴 타입은 boolean 입니다만, 레퍼런스 형태로 반환이 가능한 out 을 활용해 컨버팅한 결과값을 리턴 받을 수 있습니다. 아래 num이라는 string 변수의 값이 숫자인지 체크하는 간단한 코드입니다. 사용법 : int.TryParse("체크해야될 값", out 리턴값) using System; namespace vmpoStudy01 { class Program .. 2023. 5. 22. [C#] Func 대리자 사용방법 안녕하세요. 오늘은 어제 포스팅 했던 Action 대리자 다음 포스팅으로써, Func 대리자 사용 방법에 대해서 알려 드리려고 합니다. Func 대리자는 Action 대리자와 달리 파라미터 값이 있고, 반환값이 있는데요. [Func 대리자 형태] Func Func Func Func Func 대리자의 형태는 위와 같습니다. Action 대리자와는 다르게 입력값과 반환값이 있는 것을 보셨나요? 제일 오른쪽 끝이 반환값의 타입이고 그 외 파라미터들은 입력 파라미터(매개변수)의 타입들입니다. 그럼 위 형태를 이용해서 Func 대리자 예제 프로그램을 작성해 보도록 하겠습니다. using System; using System.Collections.Generic; using System.Linq; using Syst.. 2023. 5. 22. [C#] Hashtable 사용 방법 Hashtable이란? C#의 Hashtable은 "Key-Value" 구조를 가지는 컬렉션입니다. 키(Key)는 데이터를 식별하기 위해 필요한 정보를 가지며, Hashtable에서 키는 모든 데이터 타입이 될 수 있습니다. 값(Value)은 키에 매핑되는 데이터입니다. 이번 포스팅에서는 Hashtable의 필요성과 사용 방법을 소개합니다. 목차 Array와 ArrayList의 문제점 Hashtable 사용 방법 Hashtable 객체에서 특정 키와 값이 존재하는지 체크 Array와 ArrayList의 문제점 Array 또는 ArrayList의 인덱스를 사용하여 "Key-Value" 구조를 만들 수 있습니다. 인덱스 위치를 Key라는 개념으로 접근하여 값을 설정하는 방법입니다. 하지만, 이 방법은 개발자.. 2023. 5. 19. [C#] throw를 써서 try~catch로 예외던지기 try~catch로 예외를 처리할 때 예외를 받는데 어디선가 예외를 던진다는 얘기도 됩니다. 예외는 throw 문을 이용해서 던집니다. try { // throw new Exception("예외를 던집니다."); } catch(Exception e) // throw 문을 통해서 던져진 예외 객체는 catch 문으로 받습니다. { Console.WriteLine(e.Message); } 특정 조건을 만족하지 않으면 예외를 던지고 try~catch 문에서 받습니다. static void DoSomething(int age) { if(age 2023. 5. 19. [C#] 전처리기 #if 조건부 지시문(디버그/릴리즈) 사 프로그램 개발할떄 배포할때와 로컬에서 작업할때는 어느정도의 코드 차이가 있다 예를들어 배포할때는 로그인이 필요하지만 개발할때 계속 로긴할려면 졸 짜증이다 또는 서버아이피를 변경해야할때도 있다 이럴때 주석으로 막는 삽질안하고 지시문을 사용해서 간편하게 할수 있다. 초간단한 사용방법 위의 코드는 디버그 모드일땐 자동으로 로긴(GetServerLogin(); )호출 하고 배포일땐 로그인을 해야된다. Solution Configuation 상태에 따라 실행되지 않는 코드는 저렇게 회색으로 처리된다. 서버 아이피를 설정할떄도 변하다. * 대소문자 구분하네요 (DEBUG O Debug X ) 컴파일설정 하기 클릭~ Configuration Manager를 통해 Configuration를 변경 해주면된다. 또는 디버.. 2023. 5. 18. [C#] 전처리기 지시문 종류 C# 전처리기 지시문 C# 전처리기 지시문 #if(C# 참조) #else(C# 참조) #elif(C# 참조) #endif(C# 참조) #define(C# 참조) #undef(C# 참조) #warning(C# 참조) #error(C# 참조) #line(C# 참조) #region(C# 참조) #endregion(C# 참조) #pragma(C# 참조) #pragma warning(C# 참조) #pragma checksum(C# 참조) 2023. 5. 18. 이전 1 2 3 4 5 ··· 33 다음