Microsoft MVP성태의 닷넷 이야기
System.NullReferenceException - 개체참조가 개체의 인스턴스... [링크 복사], [링크+제목 복사],
조회: 3804
글쓴 사람
guest
홈페이지
첨부 파일

첨부파일의 listCan이란 list의 갯수를 count해서
0이면 return하도록 했는데요. 왜 error가 생길까요?
힌트라도 주시면


코드가 길어서 줄였습니다









[최초 등록일: ]
[최종 수정일: 3/27/2023]


비밀번호

댓글 작성자
 



2023-03-27 10시14분
Lcd 변수는 정상적으로 인스턴스가 들어 있을 것입니다. 하지만, Lcd 개체의 busystatus는 weight가 가진 3개의 요소를 담고 있진 않을 것입니다.

또한, 해당 예외가 Index...가 아닌 NullRef...로 나온 걸로 봐서는 busyststus는 아예 null이지 않을까 싶군요.
정성태
2023-03-27 10시37분
[guest] 이렇게 빨리 답을 주시다니 nn
즐거운 하루되세요
[guest]
2023-03-27 10시48분
[guest] 감사 감사 해결되었습니다 아래와 같이 바꿨습니다
  public int[] buyinfo_offertime { get; set; } = new int[3];
그런데 왜 이런 내용은 대부분의 책들이 기술을 안하네요
배열의 동적생성이 허용되지 않는 상황이므로 중요한 상황인데요 ㅜㅜ

다음에 책 쓰실 데 "초보들 흔한 실수" 코너도 만들어주시면 재미 있을 듯합니다
저희 반나절을 세이브해주셨네요 nn
[guest]
2023-03-27 10시59분
[guest] 제가 또 기본을 놓쳤군요 문법책을 정독을 여러 번 더 해야 겠습니다
최소 이 둘 중 하나는 했어야 됬군요 메모리 할당 ㅜㅜ int[] arr = {};는 안되는군요 null이므로 메모리 할당인 안되서?
int[] arr = {0};
int[] arr = new int[3];
arr[0]= 777;

소중한 시간 감사
[guest]
2023-03-27 11시25분
아래의 표현은 유효합니다.

int[] arr = { };

단지, 0개의 요소를 가진 arr 배열을 가질 뿐입니다. 하지만 코드 정적 분석 과정에서 CA1825에 걸리긴 하는데요,

CA1825: Avoid zero-length array allocations
; https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1825

(동적이 아닌) 정적 배열이 0개의 요소를 갖는 것은 의미가 없으므로 필요 없는 힙 할당을 피하기 위해 정적 인스턴스를 반환하는 다음의 구문을 사용하는 것을 더 권장합니다.

int[] arr = Array.Empty<int>();

-------------------------------

배열을 포함한 참조 형식은 기본값이 null이라는 원칙 하나만 기억하시면 됩니다.
정성태
2023-03-27 03시21분
[guest] 착오가 있었던 이유는 주로 Split 함수를 받는 용도로 사용하다보니 메모리 할당에 둔감해져왔고
public int[] arr {get; set}형 변수라 형태적으로 new와 관련짖지 못함
int[] arr = new int[3];
위 3가지 지식 모두 책을 읽어 알고 있어으나 public int[] arr {get; set}라는 낯선 형태로
인해 응용을 망각함
결국 try를 반복해야 겠지만 이런 대화형 문답이 정말 많은 도움이 됩니다
[guest]

... 16  17  18  19  20  21  22  [23]  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5348776/19/20206175시작하세요 C# 8.0프로그래밍 책에 대한 질문입니다. [8]
5347민성6/19/20207001안녕하세요 WPF Binding에서요 [1]
5346dimo...6/18/20207064Task.WhenAll() 메소드를 이용한 코드를 좀더 짧게 사용하고 싶은데 다른 표현이 있을까요? [3]
5345질문요6/12/20206127idc vs 집 속도 [2]
5344하태6/2/20207258c++ .ilb에서 c# dll 호출 질문 드리겠습니다 (콜백함수 전달) [4]
5343하태6/2/202010203안녕하십니까! c# dll을 c++ .lib에서 호출 질문 드립니다. [6]
5342진우5/30/202011361c++ 에서 C# DLL 사용 문의 [2]
5341미나리5/28/20207110스레드 lock키워드 관련 질문드립니다 [3]
5339민성5/27/20206437WPF cmd을 실행을 할때 파라미터 넘기는 방법 [1]
5338서영준5/26/20208289.Net Core Blazor 서버에 Xing API를 이용한 통신 요청 [5]파일 다운로드1
5337ogos...5/26/20208510C# DB connection string 보호 방법에 대하여 [2]
5336saki5/21/20208399이벤트 뷰어 .NET Runtime 오류 [3]
5335민성5/21/20206679안녕하세요 C#으로 컴퓨터 시작프로그램 목록을 가져와서 사용안함으로 바꿀려면 [1]
5334민성5/19/20207004안녕하세요 WPF 콘솔창을 띠우면서 Ping이라는 명령어가 콘솔에 Write되게 할려면 어떻게 해야 하나요?? [1]
5333초보5/18/20207070공유 메모리 관련 문의 [2]
5332질문요5/15/20206945TcpListener TcpClient 문의 [4]
5331sdd5/13/20206818안녕하세요 Settings관련하여 질문드립니다. [2]파일 다운로드1
5330하태5/7/202011158안녕하세요! 질문 드리겠습니다! C# dll에서 c++ CLR프로젝트를 참조 추가 할 수 있나요? [2]
5329김태령4/21/20206688젠킨스에서 원격 머신에 있는 실행 파일을 실행하면 백그라운드로 뜹니다 [2]
5328crea...4/17/20206748안녕하세요! [3]파일 다운로드1
5327김동욱4/17/20207015HttpListener 사용시 HTTP/2 질문입니다. [2]
5323나그네4/15/20206321해결 115p 네임스페이스의 ConsoleApp1.exe는 netcoreapp3.1 폴더에 있었습니다. [1]파일 다운로드1
5322나그네4/14/20207270질문 115p 네임스페이스의 ConsoleApp1.exe 컴파일 또는 빌드방법 [2]파일 다운로드1
5321나그네4/14/20208186오타인가요? [2]
5320kiki...4/10/202010382C# Serial 통신 관련 질문 입니다. [5]
5319권대현4/10/20206609C++(UWP)Dll에서 C#(UWP)Dll 호출이 가능한가요? [1]
... 16  17  18  19  20  21  22  [23]  24  25  26  27  28  29  30  ...