Linq Join On Parameterized Distinct Key CASE INSENSITIVE?
Oct 7, 2010To revisit a previous question with a further stipulation..Anyone know how to do the following, IGNORING CASE?
[Code]...
To revisit a previous question with a further stipulation..Anyone know how to do the following, IGNORING CASE?
[Code]...
I'm trying to LINQ two tables based on a dynamic key. User can change key via a combo box. Key may be money, string, double, int, etc. Currently I'm getting the data just fine, but without filtering out the doubles. I can filter the double in VB, but it's slooooow. I'd like to do it in the LINQ query right out of the gate.
[Code]...
"Range variable name can be inferred only from a simple or qualified name with no arguments."
I've read that it's unwise to use ToUpper and ToLower to perform case-insensitive string comparisons, but I see no alternative when it comes to LINQ-to-SQL. The ignoreCase and CompareOptions arguments of String.Compare are ignored by LINQ-to-SQL (if you're using a case-sensitive database, you get a case-sensitive comparison even if you ask for a case-insensitive comparison). Is ToLower or ToUpper the best option here? Is one better than the other? I thought I read somewhere that ToUpper was better, but I don't know if that applies here. (I'm doing a lot of code reviews and everyone is using ToLower.)
[Code]....
I'm trying to LINQ two tables based on a dynamic key. User can change key via a combo box. Key may be money, string, double, int, etc. Currently I'm getting the data just fine, but without filtering out the doubles. I can filter the double in VB, but it's slooooow. I'd like to do it in the LINQ query right out of the gate.
LinqMasterTable:
-------------------------------------------------------------
| AppleIndex | AppleCost | AppleColor | AppleDescription |
------------------------------------------------------------
[Code].....
I am trying to distinct on multiple columns and get datarows from datatable. but getting error.
Dim query As IEnumerable(Of DataRow) =
(From row As DataRow In SourceTable.AsEnumerable() _
Select row.Field(Of String)("ColumnName1"),
[Code]....
I want another datatable with distinct row based on given columns from SourceTable.
I am using the contains method to look through an array to find matches, however I notice that when I use it it is case sensitive. Is there another method I can use to do a case insensitive search or some way to modify the contains method to search case insensitively? [code]
View 3 RepliesI am using this code to get a list of files in a folder:
Dim files() As String = (From file In New IO.DirectoryInfo(myFolder).GetFiles Where file.Extension = ".exe" Select file.Name).ToArray
This works fine, but the problem is that it selects only files with the extension of "exe" & skips files that have an "EXE" extension. Is there any way to make it case-insensitive, to make it return any combination of upper/lower case letters in the extension?
I dislike WPF's inability to interpret text in a case-insensitive way.Are there any tools (i.e. VS plugins) out there that will take my VB .NET code and handle the case-sensitivity issues for me?Edit: Now with examples.
Input:
<Dockpanel DockPanel.Dock="Bottom">
<Label Content="(c) blahblah" HorizontalAlignment="Left" Name="Label2" VerticalAlignment="Bottom" Opacity=".75" Background="White" DockPanel.Dock="bottom"/>
</DockPanel>
Output:
<DockPanel DockPanel.Dock="Bottom">
<Label Content="(c) blahblah" HorizontalAlignment="Left" Name="Label2" VerticalAlignment="Bottom" Opacity=".75" Background="White" DockPanel.Dock="Bottom"/>
</DockPanel>
visual basic.net is case insensitive so it allows the coder to write without caring or remembering the casing of variables. it also relieves from the 'undeclared variable' errors if you use the variable in another case than the one used in declaration. The fact that its line termination is a line feed makes it even more readable unlike C# or c++ that need good care in the casing and contineous war with following up with the {}, matching them and figuring out which is for which.
my question is what are the advantages of c# over vb knowing that both get compiled to MSIL so there is almost no performance difference between the two languages?
I have spend a couple of hours trying to figure out why my generic Dictionary(Of String, String) is not ignoring case.Here is my code:
Dim test As New System.Collections.Generic.Dictionary(Of String, String)(System.StringComparison.OrdinalIgnoreCase)
test.Add("FROG", "1")
[code].....
I created a Web Reference (also tried Service Reference) to a WSDL that had the following node inside an xsd:
<xs:element name="filter">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded" ref="condition" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="filter" />
[Code] .....
This wouldn't build in a VB project because VB.NET is case insensitive. I tried deleting one set of and/or, but when the XML is created, it simply ignores the selected value. I also tried appending an X at the end of one the sets which also failed. Is there a way to make this work? I also tried updating the XSD so it just had two values without success. The interesting thing to note is that default is set to "and" and while debugging it will set it to and, it doesn't actually produce the node attribute of it just generates.
I have a TextBox that need to be case-insensitive. For example, I have this. If searchTextBox.Text = "Park" Then... I need results back if "Park" is typed or "park".
View 6 RepliesI have a project to read xml files. It comes from a web service. But it can come sometimes with different attributes.
The standart xml file is like this:
<xml ....>
<car carname="Opel">Opel
[code].....
I put this at the top of my project:
Option Compare Text
Here is the sub that contains the process name check:
Sub AC3()
Dim ProcessList As System.Diagnostics.Process()
ProcessList = System.Diagnostics.Process.GetProcesses()
Dim Proc As System.Diagnostics.Process
For Each Proc In ProcessList
[Code] .....
No errors, but it only checks the lowercase hack/cheat/inject. I need it to be case insensitive when checking it.
Figured it out and tested and it works. I put, right after dim procname...
procname = procname.ToLower()
works great.
Is there any way to use Dim Str as String = "UPPERlower"Str.Contains("UpperLower") and have it return true?
View 5 RepliesI am working on a program for a client and will need a feature to search for strings from an array without case sensitivity. This currently works, but it is case sensitive. I commented out the code for readability.
' Declare array for goldSmithingExpertise and add items.
Dim goldsmithingExpertise() As String = {"Alluring Earrings", "Alluring Ring", "Alluring Belt", "Howling Staff", "Dawn Ring", _
"Melancholy Earrings", "Melancholy Belt", "Melancholy Ring", "Jubilant Ring", "Jubilant Earrings", _
[code]....
If I have a list of filenames in a list, how can I do a case-insensitive lookup?
Dim files As List(Of String) = IO.Directory.GetFiles(myFolder).ToList
If files.Contains(myFileName) Then
'do something
End If
The above snippet will only do a case sensitive search.
I've been using text.indexof() to see if a string is located inside another string, however is it it possible to do a case sensitive/insensitive search option? I've been looking around Google and not having much luck with it.
A huge bonus would be if it could count the number of occurrences inside the string!
I am searching through files and only want to include files with certain extensions. Right now I have what is below but it would be stupid to do it that way for 3 or more file types and it isn't completely case insensitive.
If ext = ".jpg" Or ext = ".JPG" Then
I want to check for .jpg .gif .png all case insensitive.
I have a case insensitive dictionary in asp.net/vb.net like this:
Dim caseInsensitiveDictionary = New Dictionary(Of String, Single)(StringComparer.OrdinalIgnoreCase)
it holds values like this
[code].....
I've recently learnt that Regex class maybe used to develop case insensitive searches. I have a registry search program that will return only the exact matches from the registry. I need to make it case insensitive. how to do that using regular expressions in vb.net 2005. Im posting my code below:
Sub SearchSubKeys(ByVal root As RegistryKey, ByVal searchKey As String)
Dim matchtype As String = Nothing
Dim str(5) As String
[Code].....
I'm having trouble when trying to do a case-insensitive query on a table. Right now the query is:
txtQuery = "SELECT Status, RankingSearchEngines FROM [tbl-DATA-Client-Keywords] WHERE [Client-ID-Code] = '" & clientNo & "' AND lower(Keyword) LIKE '" & sField(0) & "';"
The actual query executed is:
SELECT Status, RankingSearchEngines FROM [tbl-DATA-Client-Keywords] WHERE [Client-ID-Code] = '1402' AND lower(Keyword) LIKE 'flyer printing';
I have an entry 'Flyer Printing' in the database, and this query works perfectly without the case-insensitive check.I'm not sure if this is an OleDB issue, as I've never had this sort of problem with SQLPlus, or anything else
The exception being thrown is:
IErrorInfo.GetDescription failed with E_FAIL(0x80004005).
Is there a way to use LINQ to filter a DataTable for rows that contain particularcharacter but in a "Accent Insensitive" way? Search over the web I came with something like this:
Dim dt As DataTable = CType(BindingSource1.DataSource, DataTable)
Dim SearchVAlue As String
SearchVAlue = "e"
[code].....
visual basic.net is case insensitive so it allows the coder to write without caring or remembering the casing of variables. it also relieves from the 'undeclared variable' errors if you use the variable in another case than the one used in declaration. The fact that its line termination is a line feed makes it even more readable unlike C# or c++ that need good care in the casing and contineous war with following up with the {}, matching them and figuring out which is for which.my question is what are the advantages of c# over vb knowing that both get compiled to MSIL so there is almost no performance difference between the two languages?
View 1 RepliesWhen the user has typed in some information I would like to output possible matches in a descending order, so if someone types in a full first name and a full surname, it should be listed above a result where just the surname matches.I've done something similar in SQL before which worked perfectly, but this time I'd like to do it in LINQ.
Firstname, Surname, City, Country as string variables.
Dim DataEnum As IEnumerable(Of frmTelephone.clsPerson) = alPerson.OfType(Of frmTelephone.clsPerson)()
[code].....
I can't quite figure out why this Linq Statement isn't working as i would expect:
[Code]....
I would assume that this would create a new collection of anonymous types, that would be distinct. Instead it creates a collection the size of the "ThisParentCollection" with duplicate "MyAnonymousType" in it (duplicate id's).
I have a very interesting LINQ question. I have a document, that I am trying to filter results on, but to filter, I am matching on a REGEX result from one element of the XML. I have the following, working LINQ to XML to get the individual data that I'm looking for.
[Code]...
I have a List(Of Hardware) - the List is called HWModels
Class Hardware has the following Properties:
ModelName
Status
CPUStatus
MemoryStatus
DiskStatus
The List is populated by reading a CSV file, once it's populated, I want to return the distinct records based on the ModelName
I've attempted by doing it as follows:
(From a In HWModels Select a.ModelName).Distinct
But this isn't right because I end up with a list of only the ModelName's and nothing else.
How do I get the Distinct function to return all of the other class members within the list?
I have a single columned datatable inside a single tabled dataset.I just want to convert this dataset to distinct rows. Here is my code, it gives compile error '.' expected.
Dim query = _
From email In ds.Tables(0) _
Select email.Field<string>("Email").Distinct()
EDIT: I changed to (Of String) and it works... BUT NOW 'query' is an ienumerable collection of characters... not a datatable... so how do I convert back easily without manually doing a loop?
I have to perform the following SQL query: select answer_nbr, count(distinct user_nbr)
from tpoll_answer where poll_nbr = 16 group by answer_nbr The LINQ to SQL query
[Code]...