I have the following array
Dim items() = {
New CheckedListBoxItem("NYC", False),
New CheckedListBoxItem("CHI", False),
New CheckedListBoxItem("PHL", False),
New CheckedListBoxItem("SFO", False),
}
I am trying to query against it like this
Try
Dim item As CheckedListBoxItem = items.ToList().Where(Function(x) x.Value = "PHL")
MsgBox(item.Value)
Catch ex As Exception
MsgBox(ex.Message)
End Try
I am getting the error
Value cannot be null.
Parameter name: source
I also tried
Dim item As CheckedListBoxItem = items.FirstOrDefault(Function(x) x.Value.ToString() = "PHL")
I just need to query against the list to get an item and change it's checkedstate from false to true.
If been try to convert some code I have from VB.net to C# but I just cannot get it working!first is the vb code I'm only interested in the line that has the Lambda Expression for the C#[code]......
I am having a generic ListOf-collection holding the self-created User-object, I can filter for users by using lambda-expression like this: Dim reviewers As List(Of User) = users.Where(Function(u) u.DvRoleID = 2).ToList
Instead of using the lambda expression I can also write the function and call it as argument like this: Public Function GetReviewer1(ByVal u As User) As Boolean If u.DvRoleID = 2 Then Return True [Code] .....
Now the question: why can't I create a delegate having the same signature as the GetReviewer1 function and use the delegate as argument inside the where-clause like this: Delegate Function Criteria(ByVal u As User) As Boolean Public Function GetReviewer1(ByVal u As User) As Boolean If u.DvRoleID = 2 Then [Code] ..... The compiler does not accept the crit delegate as argument.
I'm making a function that searchs an array of Customers and returns a Customer object by a given ID. I'm trying to do so with Lambda Expressions,and this is what I have so far:
Public Shared Function FindCustomer(ByVal ID As Integer) As cCustomer
Dim customer as New cCustomer = _ _ Array.Find(arrCustomers, Function(c as cCustomer) c.ID = ID) Return customer End Function
Can a LINQ or a LAMBDA expression be used to count the 1's in a binary string ?For example, if I convert a number to its BINARY using.>>
Dim binaryString As String = Convert.ToString( numberVariable, 2 )
1) Without using a loop such as a FOR NEXT loop, can I count the number of 1's in the STRING using LINQ or a LAMBDA expression?
2) Can I get the indexes of where the 1's are at in a collection such as a LIST using LINQ or a LAMBDA expression?I know the syntax of some LINQ expressions, however, I don't know which method may be suitable.
Is it possible to shorten the following function to a lambda expression?Or (to do the trick by myself) what is the best and most understandable for beginners tutorial for lambda in vb.net?[code]
I am trying to create a array and then add elements to it based on some conditions and then add the elements in the array and display it...
but i am getting a larger number that expected..
this is my code
Dim IBNRTotal as decimal dim element as integer dim totals(6) as decimal -- create a array3
[Code]....
i know the amt value correct cause in return amt.. i am seeing the right value but somehow when it goes to the array and when i add the whole thing it doesnt seems right...
I have the following code, what it should do it write 98 columns down and 15 columns across.but what it seems to be doing to just writing into the 1st column over and over again.
Dim TBF_IST_Min As DataTable = TBF_Dataset.Tables.Add("TBF Minutes") ' Add columns to the TBF_IST_Min table. TBF_IST_Min.Columns.Add("0-2", GetType(Integer)) TBF_IST_Min.Columns.Add("2-3", GetType(Integer))
I am trying to declare a array within a structure, and it is not working. [code] So I want each league to have a single name and id and 20 players.Is there a way other than writing out dim player1, player2 etc.
Dim asd As String() = TextBox3.Text.Split(vbNewLine) Dim asd1 As String() = TextBox1.Text.Split(vbNewLine) Dim asd2 As String() = TextBox2.Text.Split(vbNewLine) Dim count As Integer
[code]....
i need to remove the vbnewlines from the array but its not working, the array populates by braking multiline textsbox's up from vbnewline but seems to keep the newlines.
I have an array with about 10 items in it. In order to get the desired functionality I need to append some text to each item in the array in order to sort it properly. Once it is sorted I want to remove the text I added and then just display the second half of each item in the array. The sort works great, but the split function is not worrk.
I have found a lot of examples of this kind of thing on the web but cannot get one that works - basically i am serializing to a byte array and want to store it in a string i have tried all of the System.Text.** (ASCIIEncoding,UTF32Encoding,UTF7Encoding and UTF8Encoding) in the following way:
I'm writing a program that reads a directory of xml files (not well-formed), parses the xml, and dumps the data into an Excel Workbook.The file contents are similar in that they have many common xml nodes/attributes.Some files have additional nodes/attributes.The xml in these files represent configuration settings for a Web Application, one file per user.The expected output is a worksheet with a column for each node/attribute combination and a row of node/attribute values for each user.I'm just about finished with the program, but I've run into a bit of a snag.As the final step in the process, I need to loop through a generic list of array objects (that represent a user row) and send the array elements to Excel.I don't know the correct syntax to get the array objects out of the list and have been unable to find sample code specific to generic lists of array objects.[code]
I am dumb founded at this statement....maybe its just too many hours/days of doing C# to VB.Net conversion but i am drawing a blank on this conversion.
I see lambda expressions have become a very useful tool at some points in the language. I've been using them a lot and most of the time they fit really nice and make the code shorter and perhaps clearer.
Now.. I've seen some , I would say excessive use of them. Some people like them so much that try to use them everywhere they can.. Some times the C# code looks like a functional language. Other factors against are the cost using reflection by lambda and that not friendly to debugging.I would like to hear opinions about how good and how code clear it is to use more or less the lambda expressions. (this is not the better example, but let's say it was the trigger)I was writing the following code. The use of the delegate { return null; } helps me avoid having to ask if the event is null or not every time I have to use it.
public delegate ContactCellInfo.Guest AddGuest(); public event AddGuest GuestRequest = delegate { return null;}
Im using resharper and the wise resharper( even it some times literaly eats the memory) made me the following suggestion
public delegate ContactCellInfo.Guest AddGuest(); public event AddGuest GuestRequest = () => null;
At my point of view the code using the delegate looks clearer. I am not against the Lamdba expression just would like to hear some advices on how and when to use them.
I have recreated the Predicatebuilder class in a seperate C# project and I'm trying to use it in a VB.NET project but I keep getting the following error: Overload resolution failed because no accessible 'Or' accepts this number of arguments.when I use it like so:
Functionally, is there any difference (apart from syntax onbviously) between lambda expressions in C# and VB.Net?EDIT: following up on CraigTP's answer: any references to the situation in .Net 4?EDIT: I'm asking because I'm used to C#, but for a next project the customer asks VB.Net. We're not a priori against that. We realize that most language constructs are supported in both languages. However, we're particularly fond of the way C# implements lambda expressions. We would like to have an overview of the differences with VB.Net
EDIT: accepted CraigTP's answer for pointing out what I currently consider the most important difference.
So to summarize: VB.Net 9 does not support multiline statements in a lambda expression, and a lambda must always return a value. Both of these issues are addressed in VB.Net 10
In looking at Fuzzy Date Time Picker Control in C# .NET? Piotr Czaapla's answer to that question is exactly what I need. unfortunately, I'm a VB.NET guy and I'm not that familiar with lambda expresions, so my attempts to convert the code have resulted in hours of misplaced parenthesis and banging my head with a brick.
Any chance some bi-lingual wizard could convert the C# code to VB.net for me?
Async Sub like this: Dim f As Func(Of Task) = Async Sub() End Sub Produces compiler error: error BC36670: Nested sub does not have a signature that is compatible with delegate 'System.Func(Of System.Threading.Tasks.Task)'.Equivalent C# code compiles fine:
Func<Task> f = async () => { };Rewriting Async Sub into Async Function make code works.
Why does Async Sub() is not convertible to delegate types with return value of type Task?
I have this function that maps a IDataReader to a class. It is obviously written in C#. My co-worker wants to use the same method in his code, but he is writing in VB.net. Basically I am having difficulty rewriting this due to the Lambda expressions used in C#. He is running .Net 3.5.
I will probably sound like a bad developer here, but I am attempting to convert some code from the following page from C# to VB.NET:The code I am having trouble converting is from Step 4 of "Joining a Multicast Group" on the page, and here is the code with the comment lines removed:
private void Join() { _receiveBuffer = new byte[MAX_MESSAGE_SIZE];
Public Function GetFunc(Of TSource, TResult) _ selector As Expression(Of Func(Of TSource, TResult)) _ As Func(Of TSource, TResult)
[code]....
UPDATE:I have the following issue, it's a part of a function:
Dim obj As Object = value For Each exp In expressions If obj Is Nothing Then Return [default]
[code]....
Exception Details:
ArgumentException:Object of type 'System.Linq.Expressions.Expression`1 [System.Func`3[System.Char,System.Char,System.Char]]'cannot be converted to type 'System.Func`3[System.Char,System.Char,System.Char]'.