PDA

View Full Version : سوال: تعریف و مقدار دهی تعداد نامحدود آرایه



shervinrv
جمعه 13 آبان 1390, 13:34 عصر
سلام دوستان
من این سوالو سرچ کردم ولی نتیجه نگرفتم . شاید کیوورد خوبی رو انتخاب نکردم

من میخوام تعداد نامحدود آرایه رو تعریف و مقدار دهی کنم
برای تعریف که اینجوری مینویسم

dim x() as string
برای مقدار دهی هم اینجوری
x=new string () {counter.ToString} l
این counter.tostring هم مقداری هست که بهش تعلق میگیره
فقط این یه لوپ هست که هردفه counter.tostring یه مقدار جدید داره

بعد برای گرفتن مقادیر هم اینجوری نوشتم


For i As Integer = 0 To x.Count - 1
If name = x(i) Then
.
.
.

End If
Next
حالا وقتی مقدار یکی هستش مشکلی نیست ولی وقتی لوپ بیشتر از یک بار تکرار میشه توی مقدار دهی ایراد نمیگیره ولی توی خوندن مقدار که تو همین For بالا هست فقط آخرین مقدار رو میتونم بخونم . ینی انگار کلا یه بار این لوپ اجرا شده

آیا این روش مقدار دهی ایراد داره ؟
ممنون میشم دوستان راهنمایی کنن

Mani_rf
جمعه 13 آبان 1390, 14:33 عصر
در این تاپیک (http://barnamenevis.org/showthread.php?232285-%D8%A2%D8%B1%D8%A7%DB%8C%D9%87-%D9%BE%D9%88%DB%8C%D8%A7-(Dynamic)&highlight=%D8%A2%D8%B1%D8%A7%DB%8C%D9%87+%D9%BE%D9 %88%DB%8C%D8%A7) به صورت کامل توضیح داده شده است

shervinrv
شنبه 14 آبان 1390, 10:58 صبح
دوست عزیز خیلی ممنون مشکل حل شد

حالا یه سوال دیگه
فرض کنید من توی این آرایه پویا 100 تا مقدار دارم
حالا میخوام ببینم یه عددی توی این 100 تا هست یا نه
چیکار باید بکنم ؟
الان کاری که میکنم اینه که یه For مینویسم و از 0 تا 100 رو چک میکنم که مسلما کار درستی نیست

چجوری میتونم مستقیما بفهمم توی این آرایه یه مقدار خاص وجود داره یا نه

ممنون

salehbagheri
شنبه 14 آبان 1390, 11:22 صبح
چجوری میتونم مستقیما بفهمم توی این آرایه یه مقدار خاص وجود داره یا نه

با استفاده از LINQ به راحتی میتونید به خواسته خود برسید! در کد زیر ما دنبال عدد 5 میگردیم! دقت کنید که من فقط یک مورد رو انتخاب میکنم! اگه شما قصد انتخاب چندین مورد دارید باید متد Single رو حذف کرده و نوع متغیر Number را به آرایه یا لیست تغییر دهید!


Dim MyNumber As Integer = 5
Dim Numbers As Integer() = New Integer() {1, 2, 3, 4, 5, 6, 7, 8}
Dim Number As Integer = (From EachNum In Numbers
Where EachNum = MyNumber
Select EachNum).Single()

gilsoft
یک شنبه 30 مهر 1391, 01:37 صبح
با استفاده از LINQ به راحتی میتونید به خواسته خود برسید! در کد زیر ما دنبال عدد 5 میگردیم! دقت کنید که من فقط یک مورد رو انتخاب میکنم! اگه شما قصد انتخاب چندین مورد دارید باید متد Single رو حذف کرده و نوع متغیر Number را به آرایه یا لیست تغییر دهید!


Dim MyNumber As Integer = 5
Dim Numbers As Integer() = New Integer() {1, 2, 3, 4, 5, 6, 7, 8}
Dim Number As Integer = (From EachNum In Numbers
Where EachNum = MyNumber
Select EachNum).Single()


سلام
اگه بخواهیم در یک ستون خاص ، تو یه آرایه 2 یا 3 بعدی .. این جستجو رو انجام بدیم .. اونوقت از چه کدی باید استفاده کرد ؟

sari-1369
دوشنبه 01 آبان 1391, 14:06 عصر
به نظر من از لیست استفاده کنید .
Imports System
Imports System.Collections.Generic
Public Class Example
Public Shared Sub Main()
Dim dinosaurs As New List(Of String)

dinosaurs.Add("Tyrannosaurus")
dinosaurs.Add("Amargasaurus")
dinosaurs.find("x")
End Sub
End Class

این لینک هم میتونه کمکتون کنه


http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx#Y13291