본문 바로가기
반응형

06.C#15

C# LINQ FirstOrDefault vs SingleOrDefault 차이 1. 조회된 데이터의 수가 0개, 1개 일때는 차이 없음 2. 조회된 데이터의 수가 여러개일 경우 FirstOrDefault: 1개의 데이터가 무조건 조회 SingleOrDefault: 오류 발생(System.InvalidOperationException: 'Sequence contains more than one matching element') 2022. 10. 4.
C# throw vs throw e 차이 1. throw - 스택 추적 정보 확인시 어디에서 문제가 발생했는지 확인 가능 2. throw e - 스택 추적 정보 확인시 해당 코드에서 문제가 발생한것으로 보임 그렇다면 전부 throw로 바꿔주는것이 맞는가? => X throw new ~Exception("~ Failed", e) 위와 같이 원래 예외를 새 예외의 Inner Exception으로 전달하면 된다 그런다면 원래 예외 전달 및 스택 추적 정보도 보존 가능 즉, 예외를 연속적으로 throw 하려면 throw만 할것 + 예외에 추가 정보를 더하고 싶다면 Inner Exception으로 전달 2022. 10. 4.
파일은 인터넷 또는 제한 영역에 있거나 파일에 웹 표시가 있으므로 처리할 수 없습니다. 이러한 파일을 처리하려면 웹 표시를 제거하세요. 해결 Devexpress sample project나 외부 project 빌드시 발생하는 파일은 인터넷 또는 제한 영역에 있거나 파일에 웹 표시가 있으므로 처리할 수 없습니다. 이러한 파일을 처리하려면 웹 표시를 제거하세요. 에러 해결 방법 1. Window PowerShell 관리자 권한 실행 2. C:\Windows\System32> gci -Recurse "프로젝트 폴더경로" | Unblock-File 3. 재빌드Windows PowerShell을 관리자 권한으로 실행 2022. 9. 23.
압축 & 압축 풀기 1. System.IO.Compression.FileSystem 참조 추가 2. 압축: ZipFile.CreateFromDirectory(directoryPath, 결과 경로 + 파일이름); 3. 압축 풀기: ZipFile.ExtractToDirectory(압축파일, 결과 폴더 경로); 2022. 6. 7.
C# 변수, 메소드, 클래스 명명 규칙 파스칼 표기: 단어 첫번째 대문자, 나머지 소문자 카멜 표기: 첫자리 소문자 나머지는 파스칼과 같음 클래스명: 파스칼 함수명: 파스칼 변수, 함수 파라미터: 카멜 파일명: 파스칼 - 인터페이스: 앞 I - 헝가리안 표기법 사용하지 않음(nScore -> intellisense 덕분) - 약어 사용 금지(idx -> index) - 한글자 금지(i -> index) - 지역 변수에 밑줄 금지(주로 전역변수, 멤버변수) - 키워드와 비슷한 이름 금지 - bool 변수, 속성, 함수 앞에 Is - 네임스페이스: 회사명.제품명.최상위모듈.하위모듈 - 컨트롤 네이밍 3자로 - 파일명 = 클래스명 - 클래스 멤버 명시적 표기 위해 필드, 메서드, 속성, 이벤트 앞에 this - 축약형 2자까지는 모두 대문자 초과인.. 2021. 12. 20.
C# 추상화의 개념 추상화: 복잡한 자료, 모듈, 시스템으로부터 핵심적인 개념 또는 기능을 간추려 내는 것 추상화의 범주 1. 자료 추상화: 문자열, 트리와 같은 계산될 자료의 특성을 추상화 2. 제어 혹은 알고리즘 추상화: 실행 순서를 제어하는 특성을 추상화 추상화의 단계 1. 기본적 추상화: 기계적인 정보를 수집하는 추상화 2. 구조적 추상화: 프로그램 구조에 대한 추상화 3. 단위 추상화: 단위 프로그램 전체 정보에 대한 추상화 자료 추상화 - 기본적 추상화: 컴퓨터 내부 자료 표현을 추상화 하는 것 -> 기억장치의 위치, 자료값 등 인간이 이해하기 쉽게 추상화 -> 기억장치의 위치를 알기 쉽게 변수에 저장하거나 2진수 숫자값을 알기 쉽게 10진수로 변환하는 것 => int i;, x=2.5; 자료 추상화 - 구조적 .. 2021. 12. 20.
LINQ List - FirstOrDefault vs SingleOrDefault 차이 리스트 길이가 0이거나 1이면 FirstOrDefault, SingleOrDefault의 차이는 없으나 리스트의 길이가 1이 초과되면 차이를 보임 FirstOrDefault: 리스트 중에서 하나의 데이터가 조회됨 SingleOrDefault: 에러 발생 사용 case FirstOrDefault: 리스트의 길이가 1개인 경우(에러 발생하지 않음) SingleOrDefault: 리스트의 길이가 1초과 하지 않아야 하는 경우(일부러 터트리기) 2021. 12. 7.
C# 문자열에서 숫자만 추출 string str = "1q2w3e4r!"; string transStr = Regex.Replace(str, @"\D", ""); Console.WriteLine(transStr); Console.ReadLine(); 2021. 12. 7.
C# Preference 저장, 불러오기, 적용 Preference - 사용자가 특정 변수의 값을 프로그램 종료 후 다시 실행해도 그 값이 남아 있어 재사용할 수 있음 1. Preference 설정 - 프로젝트 속성 - 응용프로그램 - 설정 - 처음엔 설정 정보 없으니 안뜸 -> 여기를 클릭하면 생김 이렇게 이름 추가하고 형식과 값을 지정하면 됨 2. 코드에서 설정한 Preference 불러오기 Properties.Settings.Default.설정한이름 으로 접근 3. Preference 저장 Properties.Settings.Default.Save() 끝 2021. 12. 3.
반응형