[vb.net] LINQ(Language-Integrated Query)를 이용한 전자회로 저항갑 병렬, 직렬 계산하는 방법 > vb.net

본문 바로가기

vb.net

[기타] [vb.net] LINQ(Language-Integrated Query)를 이용한 전자회로 저항갑 병렬, 직렬 계산하는 방법

회원사진
하나를하더라도최선을
2023-11-20 23:52 769 0
  • - 첨부파일 : rege.zip (53.9K) - 다운로드

본문



LINQ란? 

LINQ(Language-Integrated Query)는 Visual Basic에 쿼리 기능을 추가하고 모든 종류의 데이터를 사용할 때 간단하고 강력한 기능을 제공합니다. LINQ는 처리할 데이터베이스에 쿼리를 보내거나 검색하는 각 데이터 형식에 대해 서로 다른 쿼리 구문을 사용하는 대신 Visual Basic 언어의 일부로 쿼리를 도입합니다. LINQ는 데이터의 형식에 관계없이 통합된 구문을 사용합니다.


이쯤 간단히 MS 자료를 인용해 보고요 본격적으로 설명에 들어갑니다.



1. 직렬연결일 경우 더한 값이 나온다

2. 병렬연결일 경우 하나라도 입력되지 않으면 계산이 안되므로 0으로 나온다. 


90b7644d692458a67e50556c60a4c536_1700491105_8613.png


이와 같이 폼을 만들고 textBox1 ~ textBox4 는 저항값 입력입니다.

textBox5는 결과 출력입니다. 


버튼은 cmd_1, cmd_2 로 직력, 병렬 순서 입니다.


cmd_1, cmd_2 의 클릭 이벤트는 cmd_x_Click 으로 연결 합니다. 


Private Sub cmd_x_Click(sender As Object, e As EventArgs) Handles cmd_2.Click, cmd_1.Click
Dim stringList = {textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text}.ToList
Dim intList = stringList.ConvertAll(Function(str) Int32.Parse(Val(str)))
textBox5.Text = intList.Sum()
If sender.Name.ToString.Split("_").Last = 2 Then textBox5.Text = 1 / intList.Select(Function(i) 1 / i).Sum
End Sub


90b7644d692458a67e50556c60a4c536_1700491106_5672.png

직력 계산 값입니다.



90b7644d692458a67e50556c60a4c536_1700491107_0241.png

병렬 계산값 입니다.



90b7644d692458a67e50556c60a4c536_1700491107_4897.png

병렬 모두 입력된 계산값 입니다.
 


코드 설명


'// stringList 라는 변수에 4개의 텍스트 박스 값을 담습니다.
Dim stringList = {textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text}.ToList
'// 4개의 담은 값을 integer 형식으로 변환합니다.
Dim intList = stringList.ConvertAll(Function(str) Int32.Parse(Val(str)))
'// 변환한 값을 더해서 출력합니다.
textBox5.Text = intList.Sum()
'// 눌린 버튼이 변렬 이라면 각 배열 값을 1 에서 각 배열 값으로 나눈 후 모두 더해서 1 에서 더한 값으로 나눈값을 출력 합니다.
If sender.Name.ToString.Split("_").Last = 2 Then textBox5.Text = 1 / intList.Select(Function(i) 1 / i).Sum




댓글목록0

등록된 댓글이 없습니다.
게시판 전체검색