Home > Article > Backend Development > C# programming and Visual Studio usage tips (Part 1)
Not interested in the opening remarks? Okay, let’s get right to the point. Here are 10 C# programming and Visual Studio IDE usage tips.
1. Environment.Newline
Do you know that this property is platform independent? Allows you to output new newline characters based on each platform.
Console.WriteLine("My Tips On ,{0}C#", Environment.NewLine);
2. Namespace alias
Did you know that you can use shorter aliases instead of long namespaces? Have you ever encountered the need to restrict a complete namespace to avoid ambiguity? Take a look at the following code example, which is a generic library created using extended .NET Framework controls.
using System.Web.UI.WebControls; using MyGenericLibrary.UserControls; /* Assuming that you had a Text Box control in both the namespace, you would have to fully qualify the class object with the complete namespace.To avoid that, you can use namespace alias. Change as below */ using System.Web.UI.WebControls; using mc = MyGenericLibrary.UserControls; /*and then use, /* mc.TextBox textbox = new mc.TextBox();
3. DebuggerBrowsable attribute
Every C# developer should have experience in program debugging. This attribute has a very powerful ability to control object behavior during debugging. During debugging it displays the object in a small prompt window, it can be used to hide private members or show members that are also redundant in the debugging window, for example, when you debug a class object, in the debugging window you can see the private Variables, at this time you can use the [DebuggerBrowsable(DebuggerBrowsableState.Never)] attribute to hide them. The following is the visible code.
public class MyClass { private string _id; public string InternalID { get { return _id; } set { _id = value; } } }
The following is the code to hide it:
[DebuggerBrowsable(DebuggerBrowsableState.Never)] public class MyClass { private string _id; public string InternalID { get { return _id; } set { _id = value; } } }
4. DebuggerDisplay attribute
This attribute allows users to The variable object of the read description is displayed. It helps to provide other team members with the efficiency of future code reading. Its usage is also very simple. The following code example shows the value of the variable.
public class MyClass { [DebuggerDisplay("Value = {myVariable}")] public string myVariable = "mydisplay"; }
5. Create a virtual directory for the project
You can force each developer to create a virtual directory with the same name locally for the project. This comes from the Visual Studio IDE Tips will help synchronize code between multiple C# developer computers. Right-click on the project name, select "Properties", in the "Web" tab, select the "Use local IIS Web server" option, and then specify a virtual path for it.
After this setting, all developers who use the project file will receive a request to create a virtual directory with the same name on the local machine.
6. Change the project platform
You can change the generation target platform of the application. The platform here refers to the 32-bit and 64-bit environments. Right-click on the project name and select "Properties" ”, in the “Build” tab, select the required target platform, as shown in the figure below.
7. Code definition window
This window allows you to jump to the definition of the object. You can press the F12 key to quickly jump to the definition location of the object. , try this function on any object in the code editor, I believe you will not be disappointed. In addition, there is a special code definition window. When you press the Ctrl+W, D key combination, a code definition window will pop up.
if (e.Item.ItemType == ListItemType.Item ) { //Your code here. }
If you place the cursor on ListItemType and then press the key combination, you will see a window as shown below.
Figure 2 Code Definition Window
8. Null coalescing operator
The Null coalescing operator allows you to compare in a very concise way A null value is represented by two question marks. For example, the value returned by myfunction might be a null integer value, in which case you can use the merge operator to quickly check if it's null and return a replacement value.
int myExpectedValueIfNull = 10; int expectedValue = myfunction() ?? myExpectedValueIfNull
9. Using statement shortcut keys
Press Ctrl+. A list of available using statements will pop up. Use the arrow keys to move and press the Enter key to confirm the selection. .
10. Find the root cause of scary data set merging errors
Have you ever encountered a situation where you couldn’t find the cause of a data set merging error? Now there is a way, surround your code with try-catch, and preferably watch the output of specific code in an exception handling block, you can catch exactly the reason why the merge failed.
StringBuilder error Messages = new StringBuilder(); try { DataSet dataSet1 = populateDataSet(1); DataSet dataSet2 = populateDataSet(2); dataset1.Merge(dataset2); } catch (System.Data.DataException de) { foreach (DataTable myTable in dataSet1.Tables) { foreach (DataRow myRow in myTable.GetErrors()) { foreach (DataColumn myColumn in myRow.GetColumnsInError()) { //loop through each column in the row that has caused the error //during the bind and show it. error Messages .Append(string.Format( "Merge failed due to : {0}", myColumn.GetColumnError(myColumn))); } } } }
Summary
I hope you can flexibly use these C# programming and Visual Studio skills and enjoy the fun of writing code. Let’s communicate more and work together. Progress
For more C# programming and Visual Studio usage skills (Part 1), please pay attention to the PHP Chinese website for related articles!