Convert Collection.foreach From C# To Program?
May 12, 2009In C# i just put the method in the parentheses that i want to run on each row of the collection, but it isn't working in VB.NET.[code]...
View 1 RepliesIn C# i just put the method in the parentheses that i want to run on each row of the collection, but it isn't working in VB.NET.[code]...
View 1 RepliesThis is weird. I have a class that inherits from IEnumrable whose Count property is reporting 0 (zero) elements but the For Each loop steps into the loop body and tries to use the variable where it should just be moving on. My code:
On Error Resume Next
Dim d As Foo
For Each d In fooCollection
' use d and throws an exception
Next d
Weirder still, every time d is accessed i get an exception thrown in the output window:
A first chance exception of type 'System.NullReferenceException'
but i'm not stopping on the exception (not in a try/catch block).Is "On Error Resume Next" causing this weirdness?
Weirdness found:Per Rowland's and JohnH's comments i checked the Foo class:The GetEnumerator method inside of Foo didn't actually return anything! It had an empty body. That coupled with the On Error Resume Next before the loop caused the havoc! Wow this was ugly.
I need to convert a VB Collection to a modern one, like Dictionary or Hashtable. For my approach, I need the Collection's KEYS. Googling tells me that it's impossible. Re-writing the entire application using new collections is not an option as the application is really old and large (converted from VB6 to VB.Net).Using the old Collection also is not good - as there are new components in development.Converting a - for example - Hashtable to Collection works:
using VBCollection = Microsoft.VisualBasic.Collection;
public static VBCollection ToVBCollection(this Hashtable table)
{
[code]....
I am trying to convert the code below into a parallel loop. What is the proper syntax to use Parallel.ForEach instead of just ForEach?
For Each grow As GridViewRow In gvEmployees.Rows
SendSummaryReport(grow)
Next
I have the below code and it works fine, it's this way because I need to manually calculate some data before adding it to the Listview control.
Code:
Dim mList As List(Of ListViewItem) = mDataBase.GetRecords(LvwChecks, "CheckGroups", <Query>, GetType(CheckItem))
If mList.Count > 0 Then
[Code].....
I am trying to convert a collection to a string. When I am done, it should look like String() = {"File1.Tif", "File2.Tif", "File3.tif", "MergeTiffImages.Tif}. Here is what I have so far.
Dim FileArray(0) As String
Dim Count1 As Integer
Count1 = 0
For Each k In S
ReDim Preserve FileArray(Count1)
FileArray(Count1) = """" & k & """"
Count1 = Count1 + 1
Next
FileArray(Count1) = """MergedTiffFile.Tif"""
I am getting the error "Index was outside the bounds of the array." because FileArray is a string and not an array.
I have a collection which I wish to retrieve an array from in .NET 2.0. In other words, I want to convert a collection into an array. So far I have the following:
Public Class Set(Of T)
Implements IEnumerable(Of T)
Implements ICollection(Of T[code]....
I tried this
vb
Dim matches As String() = Regex.Matches(tmpFieldContent, strEmail).Cast(Of Match)().ToArray()
But it didn't work, as vb says
'Cast' is not a member of System.Text.RegularExpressions.MatchCollection'.
How do you get the key value from a vb.net collection when iterating through it?[code]...
View 2 RepliesI'm have a data management program. I've fixed everything in it, except when I run my Insert or update commands on a different computer I've installed it on, JIT tells me that the collection has be modified, it then gives me the option to continue or quit. I know it's been modified, the user knows it's been modified, how do I get rid of that?
View 10 RepliesThis is going to be a lot to ask, but I'd like to convert my old GW-BASIC program to a command line program with arguments. I'd like it to operate as follows:
elapse [drive:][path]filename This is my old code.
5 CLS
10 OPEN "G:Calc.txt" FOR INPUT AS #1
20 WHILE NOT EOF(1): INPUT #1, A$, B$
30 IF MID$(A$,3,1)=":" THEN C$="DOUBLE DIGIT":GOTO 50
40 IF MID$(A$,2,1)=":" THEN C$="SINGLE DIGIT":GOTO 120
[Code]...
I have a program that uses a tabcontrol. Each tab represents a collection of common tasks and, as one would expect, has a bunch of controls on it.
In my original version of this app, I simply put all functions/subs/etc related to a specific tab right in the main form class; I just divided them with lines and a few extra blank CRLF so I could jump from section to section within the code (literally named Tab1 Code, Tab2 Code, and so forth).
I am re-working the program and thought I'd use modules for this instead. So, I built all the forms and grabbed the code from the previous version, created a new module, then pasted the code into the module. VB.Net 2010 has choked all over this with a zillion errors. The functions/subs are all public, but they cannot see any of the controls on the main form. Every control that is in existence on the main form comes up as being not declared in the module.
This is the first time I've tried to use a module without a full class, and the first time I've tried referencing back to controls on the main form in this fashion (I've always just used it for functions/subs that I pass data to). Am I trying to do something here that shouldn't be done or...? I basically just want to create files so I can segregate the code into a more logical design.
My co-worker said that in a previous interview, he learned that foreach is faster in VB.Net than c#'s foreach. He was told that this was because both have different CLR implementation.
Coming from a C++ perspective, I'm curious on why this is and I was told that I need to read up on CLR first. Googling foreach and CLR doesn't help me understand.
Does anyone have a good explanation on why foreach is faster in VB.Net than in c#? Or was my co-worker misinformed?
tell how to form this to the correct Syntax?ere the sample in sequential form:ForEach ctrl AsCheckBoxIn tblCKBoxCollection.Controlsctrl.Checked =
View 1 RepliesI have searched high and low for documentation on how to use this feature. While the loop I could write would be simple and take no time, I really would like to learn how to use this. Basically I have a class, say, Widget, with a Save() sub that returns nothing. So:
Dim w as New Widget()
w.Save()
basically saves the widget. Now let's say I have a generic collection List(Of Widget) name widgetList(Of Widget) and I want to run a Save() on each item in that list. It says I can do a
widgetList.ForEach([enter Action(Of T) here])
....but how in the F does this work??? There is no documentation anywhere on the intrablags.
I try to replace the classic For Each with the LINQ ForEach method in VB.NET
Dim singles As New List(Of Single)(someSingleList)
Dim integers As New List(Of Integer)
For Each singleValue In singles
[code]....
How should I correctly do it (using anonymous methods = without declare a new function)?
I'm writing a loop to go through the first array of a 2D loop, and I currently have it like this:
For Each Dir_path In MasterIndex(, 0)
'do some stuff here
Next
But it's giving me an error, saying it expects an expression in the first field. But that's what I'm trying to do, loop through the first field. How do I fix this? What would I put in there?
EDIT: to clarify, I'm specifically looking for the 0th element in the subarray of each array, that's why that second field is constantly 0.
I have a list like this
[Code]...
How can I iterate the list with ForEach to get one string with the emails like this [URL]
is it possible to use foreach with a 2d array?
View 8 RepliesWhat i'm doing is getting values from some html, i use a regex to retrieve all the fields, but there are some fields brought back i don't need (4 out of 11) i know the names of these fields, but was wondering if there was a way i could filter out the ones i don't need in the foreach:[code]
View 5 RepliesI recently changed a For Each loop to a Parallel.ForEach loop. I'm concerned about an object being declared outside the loop but assigned while iterating in the loop. Here is the simplified code.
Dim results As ModelResults
Dim noResultsModel As New List(Of ModelResults)
Dim lock As New Object
Parallel.ForEach(_modelEngines,
Sub(model)
[Code]...
Is there a potential race condition with the results object? Would anything be different if I moved the declaration of results into the for loop?
I'm flummoxed I'm using VB.Net, Linq, and a DataContext. My DataContext contains a table 'transactions'.
I first declare an IQueryable(Of transaction) and assign it to nothing. I build a predicate in a foreach loop and use a transactions.Where(predicate) to assign the IQueryable a value. If I do an IQueryable.ToList(), I get a number of items in the collection.
However, on the next iteration of the loop, the IQueryable.ToList() gives me 0 items.This is driving me crazy. I tried to use the LINQ to SQL Debug Visualizer with VS2010, (I recompiled the 2008 version with the new reference) but no dice - I can't see the SQl generated or what's inside the IQueryable.
[Code]...
I am making a program that automates the seperation of a csv file. We read the csv in through and then assign the "line" using a split command to an array. After that we go through each "cell" in the array and put an = in front because this causes leading zeros not to be lost. Here's the code.
arLine = line.Split(replace)
For Each cell As String In arLine
cell = cell.Replace(",", "")
cell = String.Format(cellFormat, cell)
Next
arLine is the array and replace is the delimiter, in this case a pipe not that it matters.'
When it goes through, the arLine is correct but the values in each cell are not changing, any thoughts? newer to VB.net and need direction
I am having an issue extracting the value from every row in column "MobileID" within a table named "dt" that is within a dataset named "ds".Here is how the dataset and datatable are created.[code]
View 1 RepliesI have the following for each loop which loops through a registry key and reads all the values:
Dim returnValue As RegistryKey = Registry.LocalMachine.OpenSubKey("SOFTWAREMicrosoftWindowsCurrentVersionRun")
Dim keyname As String = "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun"
Dim values() As String = returnValue.GetValueNames
[code].....
What I am trying to have been highlighted in bold.. Each time the loop executes and reads a value from the registry, I want the code to create a checkbox which has a unique name and text according to the value that was read... So the number of checkboxes will depend on number of values that is got from the registry...But this doesn't work. It only creates one text box and the text of the textbox is also incomplete...
I have the following Method:
CODE:
Everything is working fine except for one part. The part where the second foreach loop runs. If I only have one plugin installed it puts 2 entries in the list. The reason is because it has 2 rows and it is adding it twice. I know what the issue is I just am drawing a blank right now.
I've been trying to follow the examples I've found online and, well, I can't really get my head around what I've done wrong.So, I have a simple piece of code to search for a machine in AD, as so. [code]
View 5 RepliesI can't seem to get the syntax right for a simple Parallel.Foreach Loop.
This is how I would normally iterate a SearchResultCollection
Dim src As SearchResultCollection = DSearch.FindAll
For Each x As SearchResult In src
Debug.WriteLine(GetProperty(x, "Name"))
'Parallel.ForEach(x, Function(x) Debug.WriteLine(x))
Next
As I have (obviously) misunderstood it this should be the syntax for the Parallel.Foreach
Parallel.ForEach(src, (Sub(x As SearchResult) GetProperty(x, "Name")))
Parallel.ForEach(src, Function(x) Debug.WriteLine(x))
It's not that though. What's the correct syntax here?
i'm using a foreach to loop through my regular expression like:
For Each secwordMatch As Match In secwordmatches
Dim secWord As String = secwordMatch.ToString
Next
[code].....
Is it good practice to store sub-collections of item X inside a parent collection of item X for caching 'filter-queries' which are performed on the parent collection? (They won't be used together (as in color AND type).) Or is it also ok to just Loop over the collection and return the correct entities in a temporary collection?
[Code]...