본문 바로가기
728x90
반응형

Skills/C#6

C#에서 int로 변환하는 기본 함수 정리 Convert.ToInt32() 이 함수는 다양한 데이터 형식을 int로 변환하는데 사용됩니다. 변환할 수 없는 형식을 전달하면 예외가 발생합니다. null 값을 전달하면 0을 반환합니다. string str = "123"; int num = Convert.ToInt32(str); // "123"을 정수로 변환 int.Parse() 문자열을 int로 변환하는데 사용되며 다음과 같은 특징이 있습니다: 변환할 수 없는 형식을 전달하면 FormatException 예외가 발생합니다. null 값을 전달하면 ArgumentNullException 예외가 발생합니다. string str = "456"; int num = int.Parse(str); // "456"를 정수로 변환 int.TryParse() 문자열을.. 2024. 1. 3.
[Error] 지정한 키가 사전에 없습니다 "지정한 키가 사전에 없습니다" 라는 에러 로그가 발생하는 경우가 있다. 사전에 없다는 말이, '미리' 를 의미하는 한자어인가 싶어서 혼동이 있었는데, 알고 보니, Dictionary(사전) 자료구조를 의미하는 것이었다. 이 오류는, 사전(Dictionary)에서 특정 키(key)로 값을 찾으려고 할 때 해당 키가 사전에 없을 때 발생한다. [예시] Dictionary myDictionary = new Dictionary(); int value = myDictionary["nonexistentKey"]; // "nonexistentKey"라는 키가 사전에 없으므로 오류 발생 [해결] 해당 키가 없는 경우의 예외처리를 해주자. if (myDictionary.Contains("nonexistentKey")).. 2023. 9. 19.
[Error] 개체 참조가 개체의 인스턴스로 설정되지 않았습니다 "개체 참조가 개체의 인스턴스로 설정되지 않았습니다" 위와 같은 에러는 다음의 2가지 경우에서 발생한다. 1. 클래스의 인스턴스를 생성하지 않고 해당 인스턴스의 메서드 또는 속성을 호출하려고 할 때. 2. 널(null) 값인 개체를 참조하려고 할 때. [예시] MyClass obj; obj.Method(); // obj가 아직 인스턴스화되지 않았으므로 오류 발생 위와 같은 에러 로그가 발생했을 시, 해당 클래스의 인스턴스를 생성되어 있는지, null값은 아닌지를 확인해 보자. 2023. 9. 19.
[Error] 멤버는 인스턴스 참조를 사용하여 액세스할 수 없습니다. 대신 형식 이름을 사용하여 한정하세요. java, Spring을 많이 사용했던 사람들에게는 다소 생소한 에러 문장이다. 하지만 원인은 java에서도 쉽게 볼 수 있는, static class를 new를 사용하여 생성하고, 접근해서 발생하는 에러이다. static은 new 없이 '.' 으로 접근하면 된다. 2023. 9. 13.
C#에서 자바스크립트 함수 호출 및 매개변수 문법 string script = "TestMethod('" + testParameter + "')"; Page.ClientScript.RegisterStartupScript(this.GetType(), "TestScript", script, true); 이러한 형태로 매개변수까지 넣어서 호출하는 것이 가능하다. 2023. 8. 31.
C# DataTable, 필드값 Null과 DBNull 개념 정리 DataTable dt = UserDB.GetUserId(); 라는 C# 코드로 데이터베이스에 접근해서 UserId를 받아오려고 한다. 이때 Null 처리와 관련해서 꼭 구분해야 할 경우가 있다. 1. 데이터베이스에 값이 Null인 경우, DataTable 객체의 Null 여부 DataTable dt = UserDB.GetUserId(); 이 경우에 UserId 값이 Null일 경우에 어떤 값을 반환 받을까? 실제 데이터베이스에 값이 Null이더라도 빈 DataTable 객체를 반환받게 된다. 2. 데이터베이스에 값이 존재하지만 행이 존재하지 않을 경우, 빈 테이블 인덱스에 접근할 경우 DataTable dt = UserDB.GetUserId(); dt.Rows[0]["USER_ID"]; 으로 USER_.. 2023. 8. 30.
728x90
반응형