>>>>>MyName
>>>>>myName
>>>>>_myName
>>>>>this.MyName
>>>>>
>>>>>are all valid names but the casing tells you the scope of the variable.
>>>>
>>>>Please go on. I sincerely am in learning mode here. What is the scope of each of those?
>>>
>>>Here's a sample, I wouldn't do this as a rule, but it illustrates the naming by case.
>>>
>>>Field variables i.e. _myName are global to the class in which they are declared but since private are not available outside of class
>>>Properties (public) are global to the class in which they are declared.and are available to any thing which consumes this class
>>>Parameters use camel case and are limited in scope to the method
>>>
>>>
>>>
>>> public class MyClass
>>> {
>>> private string _myName;
>>> public string MyName { get; set; }
>>>
>>> public MyClass(string myName)
>>> {
>>> _myName = myName;
>>>
>>> this.GetNewName(myName);
>>> }
>>>
>>> private void GetNewName(string myName)
>>> {
>>> this.MyName = _myName + ":" + myName;
>>> }
>>> }
>>>
>>
>>This is exactly how I do it today, after playing around with different guidelines that last several years.
>>
>>Other picky points with me: when people do explicity scope _myName to private
>>Not using Auto-Implemented Properties
>>
>>Question: I've always been confused about how the compiler optimizes string concatonation. Should you be using String.Format or String.Concat instead of the way you're doing it? Or will the compiler optimize it?
>
>
>For short strings, as in the demo, i don't think it matters.... but for the most part I use stringbuilder to concat long strings of data.....
Another newbie question -- isn't StringBuilder a bazillion times faster than String?