Why does the first if statement evaluate to true? I know if I use "is" instead of "=" then it won't evaluate to true. If I replace String.Empty with "Foo" it doesn't evaluate to true. Both String.Empty and "Foo" have the same type of String, so why does one evaluate to true and the other doesn't?
//this evaluates to true
If Nothing = String.Empty Then
This must've have been asked before but I couldn't locate it. In a mixed code project (VB and C#) we were debugging some old Visual Basic code where a statement as follows could be found:
If Request.Params("xxx") <> "" Then 'do something
I considered this a bug as Request.Params could be null, in which case the statement would've become false which wasn't the idea. So I thought. I just found out, -- probably for the tenth time and I will keep forgetting -- that the following two statements are not equal, while Nothing in VB should be equal to null in C# (thought I):
if(String.Empty == null) // always false If String.Empty = Nothing Then ' always true
Should I dismiss this as a typical Microsoft backward compatibility effort, or should I consider this a huge error in the VB.NET compiler? Does anybody know the Microsoftean opinion on this oddity?
I have a simple question about string concatenation. Following is the code. I want to ask why s6 = "abcde" and not "akcde"? I have change the s2 value to "k".
Public Class Form1 Public s1 As String = "a" Public s2 As String = "b"
I've been having a glitch in my program for the last couple of hours in development. After some investigation, shows that one of my string variables apparently not what it says it is. Lets take a look:
I have a string which can be of any length. I want to loop tthrough this string and if there 53 characters assign that to Variable1, then loop round again and assign the next 53 characters or less to variable2 etc etc until the end of the string. Ideally I would not want to split words - but that is another problem.....
i have a listbox that contains the words "week1", "week2",all the way up to "week52" and when i select a week from the listbox it will retrieve a value from a mysql database that will represent a progress bar value. my progress bar has a range of 0-120 and i would like to have all the weeks that have values higher than 100 to be highlighted or marked somehow, in the listbox. so my question is, "is there a way to set the background color of certain weeks in the listbox to orange based on the value that they represent on the database?
for example for "week1", the value is 114, so when the listbox loads, i want the background color of the item "week1" in the list to be orange (indicating that it's current value is higher than 100)? i know that this requires me to implement a user defined drawing function for the listbox items but i dont know where i would even start. i would like this to be somewhat automatic so that it checks the values and changes the background colors of any value higher than 100, instead of me specifying a name of the item.
I'm just messing around coding a ID Checker that checks registry value. if it does not equal to the string, then the program will close as so:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim check As String check = "XXXXXXXXXXXXXXXXXX"[code]....
Now what im trying to do is, where the 'check' is, i want to add more than one UniqueID so that other users can use the app. Lets say a user with a UniqueID of YYYYYYYYYYYYY purchased my app and recieves updates.
In the following LINQ query, i would like when the Loc=Locale.Gr all the records with GrID=100 returned and when the Loc is anything else all the other records with GrID <> 100 returned.How can i achieve this one? I tried something like the following, but it is totally wrong.
PrivateSub Test(Byval Loc as Locale) Private Const GrID as integer = 100 Dim Query = From c In Mob Where c.CountryID = IIf(Loc = Locale.Gr, GrID, <> GrID) select c End Sub
I was trying to call a method using Reflection on a method that has a STRING parameter.However a STRING does not have a parameterless constructor.So instead of something like.>>
Option Strict On Option Explicit On Option Infer Off Public Class Form1
i have a string array that i want to output to a text file. the array size is 10000. i fill the array starting from 0 with some strings. at the end, i only want to show the array from index 256 to the last array that is not empty (for eg. if the array is filled with data from 0 to 2000, i only want the text file to show the data from 256 to 2000 and ignore the remaining strings). Is there any function to do this?t i use is shown below
Dim myArray(10000) as string Dim strArray As New System.IO.StreamWriter("c:List.txt") strArray.WriteLine("{0,10}{1,30}", "Index", "Symbol")
I have a form that I am adding a set of buttons to. I am adding an event to those buttons. I need this event to function slightly to determine what button was pressed.
I need the button to simply set a string variable equal to the clicked buttons text so I can determine what button was pressed.
How can this be accomplished?
''Adding the buttons'' For Each dr In dtMenus Dim strMenuName As String strMenuName = dr.Item("strMenuName").ToString
i have a string array that i want to output to a text file. the array size is 10000. i fill the array starting from 0 with some strings. at the end, i only want to show the array from index 256 to the last array that is not empty (for eg. if the array is filled with data from 0 to 2000, i only want the text file to show the data from 256 to 2000 and ignore the remaining strings). Is there any function to do this? i am using visual basic express 2008. The code that i use is shown below
I have a nullable database field of type varchar. I am writing a unit test for a service method that retrieves the value of this field. The service method uses a custom DAL that returns a value of String.Empty if the database field is Null (this is desired behaviour).
just found out that replace(string does not do the same as string.replace when my string variable was an empty str the first one returns "nothing" and the second returns an empty string (as expected).just sloppy coding anyhow, it was a function that was converted from classic asp and never rewritten properly. [code]
How does one check to see if the system time is equal or not equal to a specific time? So, say I want to perform an action if your system time is between 6pm and 6am. Or something similar?
I have a webpage that has a Telerik RadComboBox on the page. One of the properties of this ComboBox is EmptyMessage, which fills the combobox with a message when an item is not selected. I am binding my combobox to a datasource at runtime and for some reason, it wipes this EmptyMessage away. Is there a way to keep my data items in tact and have the empty message there too?
I'm using VB's StringBuilder, and I was curious what is considered "best practice" for emptying the builder/setting it to a new string. Would it be something like this:[code]or is there a "Better" way?
Possible Duplicate: In C#, should I use string.Empty or String.Empty or "" ? I just don't understand the benefits of using String.Empty over "". Aside it being strongly typed its longer.
With that said, shall the Private Property Attributes() As String() not return the values of DirectoryAttribute placed over the interfaces properties as well, since I specify True in the inheritance parameter of the Type.GetCustomAttributes method?
In my EF4 EntityModel I have an entity named Users. Users have the common UserName and Password string fields. If I do something like this
Dim u as new USERS U.UserName = String.Empty Then U.UserName are still Nothing.
But if I Do Something like this Dim u as new USERS u.UserName = "A" u.UserName = String.Empty Then U.UserName take String.Empty as value without problem.
The reason is the way that EF4 generate the UserName Property Public Property UserName() As Global.System.String Get Return _UserName End Get [Code] .....
I do not want to make two assignations every time I want to set string.empty to a property with a nothing value, and I do not want to remember that I must do it in this way everytime, because I'm pretty sure that I will forget it and then I will introduce bugs in the code. I just want to assign the empty.string value to a property and the property take "" as value.
I'm sure this is simple to do but I'm struggling to get this work, I've tried using convert.tostring, decimal.tostring, ctype(object, type) and cstr(object) but without success. I guess I'm trying to change the decial object to a string object and then assign it a value of empty string but always get type mismatch error.[code]
In my program i have it send an email and it send the email but after it sends i get this error "The parameter 'addresses' cannot be an empty string. Parameter name: addresses". I don't know why.
To make it clear this IS homework, however this is also a method of research. i only ask when i get in binds i can not find answers to in other forums . There are so many i could spend more time[code]...
I always initialize my variables with a value when declaring them.I was wondering if using String.Empty to initialize a variable is correct.'Is this OK ?
Dim strValue As String = String.Empty 'I used to do Dim strValue2 As String = "" On the same subject.
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias _
"GetPrivateProfileStringA" (ByVal lpApplicationName As String, _ ByVal lpKeyName As String, _ ByVal lpDefault As String, _ ByVal lpReturnedString As String, _ ByVal nSize As Integer, ByVal lpFileName As String) As Integer Dim value As String = "" Dim length As Integer Dim IniFileName As String
but value contains an empty string I confes to being a VB n00b, less than a week, in fact, but I can't see what's wrong there. The file exists, it contains a section called "Config" which has an entry called "UserName" with a value - but even if not, wouldn't value take the default?
Edit: It's not returning an empty string - it's returning whatever I initialize value to before calling GetPrivateProfileString().
Which is to say that if I Dim value As String = "xxx" then it stil contains "xxx" after the call and not the default value.