>>>>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.....