.net - Case Insensitive String Compare In LINQ-to-SQL
May 8, 2009
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.)
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 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]
I 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.
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 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".
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.
I 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", _
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'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
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).
I am using a path comparison to find any children tags which works well when there is only 1 tag selected. This is my code for when multiples tags are selected but it is not working. Can you point me in the right direction?
Single Tag Selection (working) Dim tagpath = uxTags.SelectedItem.Text lnqCases = From i In lnqCases Where i.HelpDeskTagItems.Any(Function(x)
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"
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?
Is there anyway to use LIKE operator in VB.NET as case sensitive or insensitive during runtime? For example use a flag to do case sensitive or insensitive comparisons.Obviously this can be done by simple converting them into lower case and forcing application to Option Compare Binary but maybe there is a better way to do this?
Not sure if this is just a bad habit, or a valid way of doing things, but for large complex report queries spanning bunches of tables, I often get my aggregate stats by summing a Case statement.For example:
SELECT Contact.Name, SUM(CASE WHEN Order.Type = 'Special' THEN 1 ELSE 0 END) AS SpecialOrders, SUM(CASE WHEN Order.Type = 'Magic' THEN 1 ELSE 0 END) AS MagicOrders,
I've recently been exploring the uses of linq to use for comparisons,but really need a bit of a kickstart.Say for instance i have a listview populated with numbered names and I want to put up a message box if certain conflicts arise
such as this:-
This string combination is ok:-
1 fred 1 fred 2 fred
[code]....
So to summarize, the prefix number can only have one unique name assigned to it, and that unique combo can be used as often as you like.
I am trying to write a linq statement that would take two integers and compare them, if they are not alike then it would select a name from a database. I have ho idea how to write this and i have already tried a statement with <> and it didn't work.
there is two datatable at some datasetsone of them is tbl1 and fileds is (pcode,points) other table is tbl2 and fields is (pcode,stoped)"pcode" is equal at two tables
I have the following example datatable:[code]And now the user should be able to compare multiple periods. In this example the user chose two periods: 1.1.2010 - 31.12.2010 and 1.1.2011 - 31.12.2011. The result of the example should be:[code]