Microsoft MVP성태의 닷넷 이야기
ArgumentOutOrRangeException에러 발생 [링크 복사], [링크+제목 복사],
조회: 11432
글쓴 사람
Edun (gygy332 at naver.com)
홈페이지
첨부 파일

안녕하세요!
현재 c#윈폼 개발중인 주니어개발자입니다!

특정 데이터(cd)가 각 제품군으로 분류되어
분류된 row갯수만큼 view의 컬럼 생성 후 view컬럼에 cd_Name을 바인딩 하고 싶습니다.
cd데이터는 'a01_abc' 이런 형식으로 구성되어있어서 cd_Name은 '_'기준으로 잘라내서 얻으려고 합니다.
 
특정 데이터의 코드를

List<strign> cd = new List<string>(); 으로 데이터 리스트 생성 후
foreach (GridColumn column in Datable.Columns)
{
    cd.Add(column.Name.Split('_')[0])
}
cd = cd.Distinct().ToList();
int cdCount = cd.Count;

Split해서 cd_Name을 구하고 난 뒤
view를 생성할 grid를 디자인단이 아닌 코드로 직접 작성하려고합니다.
왜냐하면 분류된 row갯수만큼 동적으로 view가 만들어져야되기 때문입니다.
이후 중복되는 데이터를 제거해주고 동적으로 view를 만들기 위해 해당 갯수를 구해서
cdCount에 넣어줬습니다.

List<gridcontrol> gc = new List<gridcontrol>();으로 gridcontorl 리스트 생성 후
for(int i = 0; i <= cdCount; i++)
{
    string pre = cd[i]; //error
}
위와같이 for문안에 분류된 row갯수만큼 gridview를 만들고자
string pre에 split한 cd를 배열로 넣어주고 싶은데
사진과같은 에러가 발생합니다.

구글링 해도 어디서 부터 잘못되었는지 도통 찾지 못해서 이렇게 질문글을 남깁니다.
도와주시면 감사하겠습니다!! ㅠㅠ








[최초 등록일: ]
[최종 수정일: 2/25/2022]


비밀번호

댓글 작성자
 



2022-02-25 04시46분
cdCount가 cd.Count 값이니, for 루프의 조건을 i <= cdCount로 할 것이 아니라, i < cdConut로 해야 하지 않을까요?

그리고, 지금 디버그 상태로 보이는데, 간단하게 해당 예외가 발생할 때의 i 값을 찍어보면 OutOfRange의 원인이 나올 텐데요... 이상하군요, 감각적으로 알 수 있었을 텐데... 혹시 비주얼 스튜디오의 디버깅 사용법을 모르신다면 아래의 동영상을 참고해 보세요.

"시작하세요 C#" 강의 번외편 #1 - 비주얼 스튜디오 디버그 기능 기초 활용
; https://youtu.be/X3_OXIIDEec
정성태
2022-02-25 04시53분
[Edun] 이상한부분이 부끄러운 사실입다 ㅠㅠ 아래 참고해주신 영상통해 더 공부해보려고요!! 오류에 대한 답변과 부족한 부분 짚어주시고 참고자료 주셔서 정말 감사합니다 !!!!
[guest]

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5968orion4/30/2025152winform DataSet.xsd의 암호화 된 ConnectionString 사용 질문 [1]
5966GM B4/30/2025177C#과 python 연동 질문 [1]
5962SunN...4/21/2025531Contextmenu margin 조절 [1]파일 다운로드2
5961GM B4/10/2025927winform => wpf 마이그레이션 방법 질문 [4]파일 다운로드1
5960Kim ...4/9/20251166안녕하세요.. 혹 AI & C# 에 대해서도 다루시나요? [1]
5959vict...2/10/20251866비주얼 스투디오 CLR 코드 탑색 질문입니다. [1]
5958Supe...1/18/20252845C#으로 DLL을 만들때 WebVeiw2을 이용하여 Vb6에서 사용할수 있는지 문의드립니다. [2]
5956fc1/11/20252846한국투자증권 KIS Developers OpenAPI의 C# 래퍼 버전 - eFriendOpenAPI NuGet 패키지 [1]
5955tree...11/8/20244493C#12 책 179 페이지 문의 사항 [2]
5954SunN...10/10/20244967textbox에서 글자입력후 textBox1_KeyUp함수에서listBox1_SelectedIndexChanged 강제호출방법 [1]
5953Roya10/4/20244908c# com host dll을 c++에서 사용할 때, sdk 관련 runtime 을 설치 안하고 제공할수 있을까요?? [1]
5952우광현9/5/20246058서버용 소켓 포트 동적포트 적용시 클라이언트가 호출하는 방법? [2]
5951Kun ...8/21/20245667c++에서 복합데이터 Struct를 .NET Framework에서 구현할 수 있는 방법이 있을까요? [2]
5950SunN...8/18/20246226정석대로 한다면 response.Close() 해야되는지요? [4]
5949SunN...8/16/20246311SqlConnection Open()에서 에러가나면 Close()하는 시점 [3]
5948SunN...8/14/20246192WebRequestMethods.Ftp.MakeDirectory 해제 [3]
5947Roya8/7/20246974c# dll을 cpp lib에서 사용을 할려고 하는데요. CoCreateInstance 에서 지정된 파일을 찾을수 없다고 나오는대요. [4]
5946SunN...8/5/20247075TaskDefinition 에서 사용저가로그온상관없이실행 [3]파일 다운로드1
5945SunN...8/3/20246946윈도우 작업스케줄러 [1]
5944roya8/1/20246886C# dll을 C++ 프로젝트에서 사용을 하고 싶은데, 레지스트리 등록 없이 가능한걸까요?? [2]
5943SunN...8/1/20246759윈도우C#에서 리눅스FTP로 업로드 및 리눅스에 폴더생성(WindowsOS에서C#으로) [3]
5942vict...7/24/20246800dll 을 c#에서 쓰고 싶습니다 [1]
5941vict...7/17/20248268DependencyObject와 같은 스레드에서 DependencySource를 만들어야 합니다. 오류 [2]
5940ckm7/16/20248693선생님 안녕하세요 async await 교착 관련 질문입니다 [1]
5939괴물신인7/9/20248391템플릿 대체할수있는방법이 있을까요? [6]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...