 |
|
VB.NET ต้องการหาค่าที่อยู่ในแต่ละ List ว่าอยู่ที่ List ไหน ตำแหน่งไหน |
|
 |
|
|
 |
 |
|
Code (VB.NET)
Dim a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
a11, a12, a13, a14, a15, a16, a17, a18, a19, a20,
a21, a22, a23, a24, a25, a26, a27, a28, a29, a30,
a31, a32, a33, a34, a35, a36, a37, a38, a39, a40,
a41, a42, a43, a44, a45, a46, a47, a48, a49, a50,
a51, a52, a53, a54, a55, a56, a57, a58, a59, a60,
a61, a62, a63, a64, a65, a66, a67, a68, a69, a70,
a71, a72, a73, a74, a75 As New List(Of String)
นำค่าจาก textbox1.text ไปค้นหาที่อยู่ใน a1-a75 ครับ
ว่าคาจาก textbox1 ไปอยู่ตรงที่ของ a1-a75
ขอบคุณที่แนะนำครับ
Tag : .NET, Win (Windows App)
|
|
 |
 |
 |
 |
Date :
2022-08-31 13:59:00 |
By :
meposonsuza |
View :
795 |
Reply :
5 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอนนี้ทำได้เพียง
Code (VB.NET)
If a1.Contains(textbox1.Text) Then
TextBox2.Text = "true"
Else
TextBox2.Text = "false"
End If
ซึ่งมันตรวจสอบได้ว่ามี หรือ ไม่มี
แต่มันจะหาตำแหน่งยังไงครับ
#มือใหม่หัดเขียน
|
 |
 |
 |
 |
Date :
2022-08-31 14:16:47 |
By :
meposonsuza |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมว่าถ้าจะหาหมด ลองเอา
a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
a11, a12, a13, a14, a15, a16, a17, a18, a19, a20,
a21, a22, a23, a24, a25, a26, a27, a28, a29, a30,
a31, a32, a33, a34, a35, a36, a37, a38, a39, a40,
a41, a42, a43, a44, a45, a46, a47, a48, a49, a50,
a51, a52, a53, a54, a55, a56, a57, a58, a59, a60,
a61, a62, a63, a64, a65, a66, a67, a68, a69, a70,
a71, a72, a73, a74, a75
ไปยัดลง list ซะก่อนดีกว่า
จากนั้น ก็ for loop เพื่อ เช็ค Contains อีกที
เราจะได้ว่า ข้อความของเรา มันอยู่ใน Index ไหน ใน a1-a75 ครับ
|
 |
 |
 |
 |
Date :
2022-08-31 15:23:21 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตามด้านบน .NET ไม่ support "dynamic variable name" ลองดูตัวอย่างนี้
C# version
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
List<string> a1 = new List<string> {"123", "231", "312", "321"};
List<string> a2 = new List<string> {"456", "564", "645", "654"};
List<string> a3 = new List<string> {"789", "897", "978", "987"};
Dictionary<string, List<string>> data = new Dictionary<string, List<string>> {
{"a1", a1},
{"a2", a2},
{"a3", a3}
};
string test = "312";
string res = string.Empty;
foreach(KeyValuePair<string, List<string>> item in data) {
int t = item.Value.IndexOf(test);
if (t != -1) {
res = item.Key + " " + t.ToString();
break;
}
}
Console.WriteLine(res);
}
}
VB.NET version
Imports System
Imports System.Collections.Generic
Public Class Program
Public Shared Sub Main()
Dim a1 As List(Of String) = New List(Of String) From { "123", "231", "312", "321"}
Dim a2 As List(Of String) = New List(Of String) From { "456", "564", "645", "654"}
Dim a3 As List(Of String) = New List(Of String) From { "789", "897", "978", "987"}
Dim data As Dictionary(Of String, List(Of String)) = New Dictionary(Of String, List(Of String)) From {
{"a1", a1},
{"a2", a2},
{"a3", a3}
}
Dim test As String = "312"
Dim res As String = String.Empty
For Each item As KeyValuePair(Of String, List(Of String)) In data
Dim t As Integer = item.Value.IndexOf(test)
If t <> -1 Then
res = item.Key & " " & t.ToString()
Exit For
End If
Next
Console.WriteLine(res)
End Sub
End Class
ตรงเงื่อนไขถ้าคิดว่าหน้าตาอัปลักษณ์จะใช้ List.FindIndex Method แทนก็ได้
|
 |
 |
 |
 |
Date :
2022-08-31 15:32:33 |
By :
009 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|