PDA

View Full Version : error Value of type '1-dimensional array of String' cannot be converted to 'String'



saeed_sho
شنبه 24 تیر 1391, 17:47 عصر
سلام
شرمنده میدونم سؤالم خیلی ساده ست اما من همیشه موضوعات سخت رو حل میکنم و با مسائل ساده مشکل پیدا میکنم
من میخوام یک آرایه داشته باشم که در هر index اون یک آرایه بزارم اما ارور میده این کدمه:
Dim strDesNo1() As String = New String() {txtDesNo1_multiple.Text}

Dim strDesNo2() As String = New String() {txtDesNo2_multiple.Text}

Dim strDesNos() As String
strDesNos(0) = strDesNo1
strDesNos(1) = strDesNo2
از دو خط آخر این ارور رو میگیره:
Value of type '1-dimensional array of String' cannot be converted to 'String'.
ممنون میشم راهنمایی کنید

saeed_sho
شنبه 24 تیر 1391, 18:34 عصر
فکر کنم با این کد مشکل حل بشه
Dim strDesNo1() As String = New String() {txtDesNo1_multiple.Text}

Dim strDesNo2() As String = New String() {txtDesNo2_multiple.Text}

Dim strArray As New ArrayList()
strArray.Add(strDesNo1)
strArray.Add(strDesNo2)

Dim strDesNos() As String = strArray.ToArray()

مهرداد صفا
سه شنبه 27 تیر 1391, 23:45 عصر
سلام
یک خانه از یک آرایه string فقط میتواند یک string در خود نگهدارد. برای این کار میتوان از یک آرایه دو بعدی استفاده کرد که در هر خانه از ستون اول آن میتوان یک آرایه دیگر را نگهداری کرد. کد را به صورت زیر میتوان استفاده کرد.
Dim strDesNo2() As String = New String() {txtDesNo2_multiple.Text}

Dim strDesNos()() As StringstrDesNos(0) = strDesNo1
strDesNos(1) = strDesNo2

saeed_sho
پنج شنبه 05 مرداد 1391, 17:35 عصر
اون کدهایی که در پست دو گفتم کار میکنه تست کردم ارور میده
کدهایی هم که دوستمون در پست قبلی گفتن چون در تگ نیست معلوم نیست چی نوشته
لطفا راهنمایی کنید

saeed_sho
شنبه 07 مرداد 1391, 10:49 صبح
هیچ کس نمیخواد کمک کنه؟

saeed_sho
یک شنبه 08 مرداد 1391, 19:34 عصر
چطوری میشه یه آرایه داشت که در هر ایندکس اون یک آرایه ذخیره کرد؟
لطفا راهنمایی کنید

salehbagheri
یک شنبه 08 مرداد 1391, 21:11 عصر
چرا از Generic List ها استفاده نمی کنید؟ مایکروسافت این همه زحمت کشیده تا شما بجای استفاده از پراید، سوار لامبورگینی بشید، باز هم نمی دونم چرا اصرار بر استفاده از آرایه دارید!

به راحتی تمام میتونید یک لیست پر از لیست ایجاد کنید و به راحتی با استفاده از LINQ و ... از اطلاعات اون استفاده کنید.


Dim MyListOfList As List(Of List(Of String))


با این تعریف شما یک لیست دارید که در هر Index آن میتونید یک لیست دیگر از داده های رشته ای ذخیره کنید!

saeed_sho
دوشنبه 09 مرداد 1391, 10:07 صبح
از توجهتون ممنونم
حتما این راه رو امتحان میکنم
اما در مورد اصرار من برای استفاده از آرایه باید بگم که من دارم یه برنامه وب مینویسم که پیامک ارسال کنه و وب سرویس یه متد داره که یکی از پارامترهاش آرایه ست و برای اون میخوام وگرنه کی بدش میاد به قول شما به جای پراید سوار لامبورگینی بشه

saeed_sho
دوشنبه 09 مرداد 1391, 11:13 صبح
حالا محتویات این لیست رو چطوری میشه ریخت توی آرایه؟
من اینو میزنم ارور میده
dim strDesNos() as string = myListOfList.ToArray()

saeed_sho
دوشنبه 09 مرداد 1391, 17:27 عصر
چطوری میشه محتویات اون لیستی که آقای باقری در پست 7 گفتن رو ریخت در یک آرایه؟

alimanam
دوشنبه 09 مرداد 1391, 19:25 عصر
با سلام


چطوری میشه محتویات اون لیستی که آقای باقری در پست 7 گفتن رو ریخت در یک آرایه؟

همانطور که آقای باقری گفتن کار با Generic List ها به مراتب آسان تر و بهتره . میتونین با استفاده از کدی که براتون نوشتم به آرایه مورد نظر خودتون دسترسی داشته باشید.


Dim listOfList = New List(Of List(Of String))(New List(Of String)() {New List(Of String)(New String() {t1.Text}), New List(Of String)(New String() {t2.Text})})
Dim list = New List(Of String)(New String() {})
Dim result = list.Concat(listOfList.SelectMany(Function(x) x))

For Each x In result
MsgBox(x)
Next x

' Or

MsgBox(result(0)) ' Return t1.text value !
MsgBox(result(1)) ' Return t2.text value !



موفق باشید./

h_assefi
سه شنبه 10 مرداد 1391, 16:26 عصر
شاید بهتر باشه از jagged array ها استفاده کنی
jagged array آرایه ای از آرایه هاست و هر ردیف با ردیف بعدی می تونه طول متفاوتی داشته باشه و حتما نباید یکی باشند
هنگام تعریف این نوع آرایه شما تعداد ردیف ها را مشخص می کنید. و هر ردیف هم یک آرایه را نگه داری می کند.
روش تعریف Jagged array به صورت زیر هستش:

Dim n7 As Integer()() = {New Integer() {2, 4, 6}, New Integer() {1, 3, 5, 7, 9}}
Dim n9()() As Integer = {New Integer() {2, 4, 6}, New Integer() {1, 3, 5, 7, 9}}

hakim22
سه شنبه 10 مرداد 1391, 20:48 عصر
بابا از ArrayList استفاده کنید و خلاص !

saeed_sho
چهارشنبه 11 مرداد 1391, 13:25 عصر
خب بگو چطوری؟