Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6369867
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T00:51:31+00:00 2026-05-25T00:51:31+00:00

I was amazed (and horrified) that the following code works in Vb.Net Dim test2DArr

  • 0

I was amazed (and horrified) that the following code works in Vb.Net

Dim test2DArr As String(,) = {{"A", "B"}, {"C", "D"}}

For Each s As String In test2DArr
  MsgBox(s)
Next

When run, four message boxes pop up showing “A”, “B”, “C”, and then “D”.

In other words, it has exactly the same behavior as:

Dim test1DArr As String() = {"A", "B", "C", "D"}

For Each s As String In test1DArr
  MsgBox(s)
Next

Can someone explain this “Feature” ? I need to impose some structure here that is apparently not supported. The first code example above should be:

Dim test2DArr As String(,) = {{"A", "B"}, {"C", "D"}}

For Each arr As String(,) In test2DArr
  MsgBox(arr(0) & ", " & arr(1))
Next

and should produce two message boxes: “A, B” and “C, D”, but the compiler insists that iterating through a 2-d array yields a sequence of strings, not a sequence of arrays of strings.

Am I doing something wrong or is .Net’s implementation of 2-D arrays really that flimsy?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T00:51:32+00:00Added an answer on May 25, 2026 at 12:51 am

    is .Net’s implementation of 2-D arrays really that flimsy?

    Yes. Multi-dimensional arrays were never really supported in .NET. I’m not sure why they exist at all (as opposed to arrays-of-arrays, i.e. jagged arrays: String()()). In any case, all the support is tailored to the special case of one-dimensional arrays. The framework type for arrays is always the same, regardless of dimensionality, and the interface implementation (in this case of IEnumerable(Of T)) is tailored to this common use case.

    This means that the type of the array is always an “array of strings”, and thus it always implements the interface IEnumerable(Of String). This explains why your second code cannot work: in order for it to work, the type of the array would have to be different.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am amazed by the automatic code formatting feature in VB.Net IDE that when
I was amazed when I found that Mathematica gives True for the following code
Having been writing Java code for many years, I was amazed when I saw
I'm looking for some technologies to research. I'm amazed that you can go into
Today I amazed that why my menu doesn't show when i put onKeyDown() in
Im amazed that even after all this time (jQuery has been around since 2006
I'm just amazed to know that I can't convert signed to unsigned int by
I am dealing with memory leak in C code these days. I am amazed
I've been amazed at the flexibility of FullCalendar so far, but the following two
I have only recently started web programming and I am pretty much amazed that

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.