Please translate this C# LINQ query into VB for me !!!!!

C

ChrisN

Just learning LINQ by going through the MSDN 101 LINQ samples, which
are in C#. I'm a VB developer and my C# doesn't extend to lambda
functions yet!

I'm stuck on...

public void Linq5() {
string[] digits = { "zero", "one", "two", "three", "four", "five",
"six", "seven", "eight", "nine" };

var shortDigits = digits.Where((digit, index) => digit.Length <
index);

Console.WriteLine("Short digits:");
foreach (var d in shortDigits) {
Console.WriteLine("The word {0} is shorter than its value.",
d);
}
}

Grateful if someone could rewrite the lambda expression

var shortDigits = digits.Where((digit, index) => digit.Length <
index);

in VB for me. I just can't work it out.

Thanks,

ChrisN
 
G

Guest

Just learning LINQ by going through the MSDN 101 LINQ samples, which
are in C#. I'm a VB developer and my C# doesn't extend to lambda
functions yet!

I'm stuck on...

public void Linq5() {
string[] digits = { "zero", "one", "two", "three", "four", "five",
"six", "seven", "eight", "nine" };

var shortDigits = digits.Where((digit, index) => digit.Length <
index);

Console.WriteLine("Short digits:");
foreach (var d in shortDigits) {
Console.WriteLine("The word {0} is shorter than its value.",
d);
}

}

Grateful if someone could rewrite the lambda expression

var shortDigits = digits.Where((digit, index) => digit.Length <
index);

in VB for me. I just can't work it out.

Thanks,

N

Chris, how does it related to this newsgroup?

If you want to do in LINQ, there is a forum for such questions, take a
look
http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=123&SiteID=1

Regarding WHERE operator in LINQ: it should be something similar to
the following code

Dim digits = From digit In digits _
Where digit(index) => digit.length < index

and if you want to move the code to .Net2 then it will be something
like this

Dim digits As String() = {"zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine"}

Dim shortDigits As New ArrayList()
Dim i As Integer

For i = 0 To digits.Length - 1
If i > digits(i).Length Then
shortDigits.Add(digits(i))
End If
Next

Console.WriteLine("Short digits:")
For Each d As String In shortDigits
Console.WriteLine("The word {0} is shorter than its value.", d)
Next

Hope this helps
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top