C#2012. 12. 15. 18:18

VS2005와 방법이 달라 한참 고생했던 기억이 나서 정리해 봅니다.


1. 프로젝트의 [속성]을 우클릭하여 [서비스 참조 추가]를 선택한다.


2. [고급]을 클릭합니다.


3. [웹 참조 추가]를 클릭합니다.


4. "URL"에 참조할 웹 주소를 넣고 [이동]을 클릭합니다.

  - 웹 서비스가 정상적으로 검색된 경우 "웹 참조 이름"을 본인이 원하는 이름으로 변경한 뒤 [참조 추가]를 클릭합니다.


Posted by 쿵캉켕
C#2012. 12. 15. 17:59

VS2008에서 웹 서비스 참조를 한 뒤 64bit로 빌드를 하는 경우 Debug에서는 문제가 없다가 Release로 빌드하면 제목과 같은 오류가 발생하는 경우가 생깁니다.


이럴 때는 다음과 같이 진행한 뒤 빌드합니다.


1. [프로젝트] - [속성] - [빌드] 탭에서 '구성'을 Release로 선택하고 '플랫폼'을 x64로 선택합니다.

2. 1.과 같은 [빌드] 탭에서 'Serialization 어셈블리 생성' 의 값을 자동->해제 로 변경합니다.


위 작업을 한뒤 빌드를 하면 오류가 해결될 수 있습니다.

Posted by 쿵캉켕
C#2012. 11. 15. 15:55

모달리스로 폼을 띄운 뒤 모달리스 폼이 닫힐 때 부모 폼에서 작업을 해야할 경우 사용하면 유용합니다.

전 모달리스 폼을 닫은 뒤 부모 폼의 List를 갱신해야 해서 이렇게 사용했습니다.


private void FormLoad()

{

Form newForm = new Form();

      newForm.FormClosed += new FormClosedEventHandler(newForm_FormClosed);


      dinfoForm.Show();

}


// 모달리스 폼이 종료됬을때 이벤트

void dinfoForm_FormClosed(object sender, FormClosedEventArgs e)

{

      // 여기에 모달리스 폼 종료 후 필요한 작업을 하시면 됩니다.

}

Posted by 쿵캉켕
C#2011. 5. 13. 17:33
#. 소스를 짜다 보면 반복문 내에서 많이 사용하지만 의외로 햇갈리는 것이 continue와 break 입니다.(아..아닌가요? 저는 가끔 햇갈립니다만...-0-a) 그래서 둘의 차이점에 대해서 간단하게 적어보도록 하겠습니다. 정말 간단하게 적을 거에요ㅎ

 - continue
  -> continue는 현재 행까지만 진행하고 다시 반복문의 처음으로 이동하는 것입니다.

 - break
  -> break는 현재 행까지만 진행하고 반복문을 빠져 나오는 것입니다.

어때요?참 쉽죠잉?ㅎ
Posted by 쿵캉켕
C#2011. 3. 24. 16:18

#. 설명
  SortedList는 Hashtable과 ArrayList의 혼합형입니다. 기본적으로 내부 데이터는 Key와 value로 이루어져 있으며, Key를 기준으로 정렬되고 Key와 Index를 사용해서 검색할 수 있습니다.
SortedList의 가장 큰 특징은 내부적으로 정렬된 컬렉션을 유지하고 있다는 것입니다. SortedList는 key와 Value로 이루어져 있기 때문에 IDictionary 인터페이스를 기본으로 사용합니다.

#. 특징
 - SortedList는 Key의 목록 또는 Value의 목록만 반환하는 메소드를 제공
 - SortedList는 내부적으로 두 개의 배열 즉, Key에 대한 배열과 Value에 대한 배열을 유지하여 요소를 목록에 저장
 - SortedList는 각 요소에 대해 Key, Value 또는 Index 세가지 방법으로 액세스할 수 있음
 - 요소(Element)가 삽입되면, 지정된 Key가 이미 존재하는지 검사 함(중복 키 허용하지 않음)

#. 주요 메소드
 - Add()
  -> 지정한 Key와 Value를 가지는 요소를 추가
 - Clear()
  -> SortedList에서 요소를 모두 제거
 - Contains()
  -> SortedList에 특정 키가 들어 있는지 여부를 확인
 - ContainsKey()
  -> SortedList에 특정 키가 들어 있는지 여부를 확인
 - ContainsValue()
  -> SortedList에 특정 값이 들어 있는지 여부를 확인
 - GetByIndex()
  -> SortedList의 지정한 인덱스에서 값을 가져온다.
 - GetEnumerator()
  -> SortedList 전체를 반복할 수 있는 IDictionaryEnumerator를 반환
 - GetKey()
  -> SortedList의 지정한 인덱스에서 키를 가져온다.
 - GetKeyList()
  -> SortedList의 키를 가져온다.
 - Remove()
  -> SortedList에서 지정한 키를 가지는 요소를 제거
 - RemoveAt()
  -> SortedList의 지정한 인덱스에서 요소를 제거

출처: MSDN 및 구글링

Posted by 쿵캉켕
C#2011. 2. 19. 22:25
#. MD5란?
 - MD5는 입력 데이터 (길이에 상관없는 하나의 메시지)로부터 128 비트 메시지 축약을 만듦으로써 데이터 무결성을 검증하는데 사용되는 알고리즘입니다. 대게 선택한 파일이나 문자열에 대해 오류가 있는지 없는지 체크할 때 주로 사용 합니다.

#. 사용방법.
 - 아래 사용 방법은 특정파일에 대한 MD5 생성 방법 입니다.

using System.Security.Cryptography;


private string GetMD5OfFile(string filepath)
        {
            StringBuilder strMD5 = new StringBuilder();
            FileStream fs = new FileStream(filepath, FileMode.Open);
            byte[] byteResult = (new MD5CryptoServiceProvider()).ComputeHash(fs);
            fs.Close();

            for (int i = 0; i < byteResult.Length; i++)
            {
                strMD5.Append(byteResult[i].ToString("X2"));
            }

            return strMD5.ToString();
        }

참고로 MD5 signature는 총 128비트(16byte)의 길이가 됩니다.

출처 - 구글링
Posted by 쿵캉켕