几个C#技巧
几个C#技巧(一)
作者:罗会涛
技巧1
AppDomain.CurrentDomain.BaseDirectory
相当于App.Path
技巧2
如果需要在字符串末尾增加回车换行,
应该是:s = s + "\r\n";
而不是: s = s + "\n\r";
次序将影响s在TextBox中的显示。
技巧3
在C#中,有一些提供静态方法的类,这些类可以不用实例化直接调用其方法,就像全局函数一样。这样的类有:Application、File、MessageBox、DialogResult
等等。比如:b=File.Exists(FilePath);
技巧4
C#中没有VB那样的Beep语句。
技巧5
不再是ListBox.Style
,而是另外一种Control: CheckedListBox
。
巧6
DataType of DataColumn
DataColumn dcID;
dcID.DataType=System.Type.GetType("System.String");
几个C#技巧(二)
技巧1
字符串的.Trim()
方法可以将空格和回车一并去掉。
技巧2
除了代码编辑窗口中的字体之外,Solution Explorer等窗格中的字体也可以通过Options
的Fonts and Colors
进行设置,方法是选择Show Settings for为Dialogs and Tool Windows,默认的宋体9号不如Verdana 8号字体美观。
技巧3
连接两个字符串的操作,在C#中是+。但是要注意:不同类型的数据不能直接用+串,事先应使用.ToString()转换为字符串,如: dt.Rows[0].ItemArray[0].ToString() + dt.Rows[0].ItemArray[01]
技巧4
Queued Components这种部件支持异步调用,客户端不用等服务器马上响应,也许可以用来实现Run MRP这样的操作:远程发送“开始运行”命令,完毕用另外一种方式通知。
技巧5
不用定义对象就可调用的方法,可以用Modules来实现。
技巧6
Default OK & Cancel Button:对应于VB Form中的CommandButton.Default和.Cancel属性,WinForm中可在Form(而非Button)的属性中设置AcceptButton和CancelButton。
技巧7
Unload me in C#
This.Close
关于作者:
作者是GrapeCity开发人员。
几个C#技巧(三)
作者:罗会涛,杨波
技巧1
正向查找: i=s.indexOf(substr[,startindex]);
逆向查找: i=s.lastIndexOf(substr[,startindex]);
注意大小写:last不是Last
技巧2
KeyPress事件中判断KeyCode if(e.KeyChar == (char)13) e.Handled=true;
或者
if(e.KeyChar == System.Windows.Forms.Keys.Return)
{
...
e.Handled=true;
}
技巧3
KeyPress事件中一般会处理参数e中键值,处理完毕,应:e.Handled = true;
否则可能会有beep一声。原来VB中将键值设为0的办法已经行不通了。
技巧4
Numeric Format Strings
double d = 123.456;
string s = d.ToString("#,##0.00;(#,##0.00)");
技巧5
如果觉得VSS与IDE绑定比较好,而想要在细节操作方面更加方便,可以在Tools/Options/Source Control选项中设定,例如在CheckIn时维持CheckOut状态等。
如果觉得VSS与IDE绑定不太好,想要解开绑定,也很简单:File/Source Control/Change Source Control Unbind几次就行了。
技巧6
定义一个对象变量时,建议先给一个null初值,例如:XmlDocument a = null;
否则,在 finally 等子句中可能编译出错,错误信息是“使用了unassigned的变量”。
关于作者:
罗会涛是GrapeCity公司的技术总监。曾与他人合作著有《精通MS SQL Server 7.0》和《会计电算化实用技术》等书,在《计算机世界报》发表文章数篇。并曾在两届微软DevDays技术大会上授课。
杨波是GrapeCity公司工具开发部主力。从事component软件的开发。
几个C#技巧(四)
技巧1
有一个类似VB6的OpenFileDialog控件,不过专门用于FileOpen操作,不再跟Font等对话框混在一起。主要属性:MultiSelect,ShowReadOnly,ReadOnlyChecked,Filter, 例子:
// Open a file open dailog
dlgFile.Filter = "XML files(*.xml)|*.xml|All files (*.*)|*.*";
dlgFile.ShowDialog();
strFilePath=dlgFile.FileName;
if (strFilePath=="" ) return;
技巧2
Try
{
Cursor.Current=Cursors.WaitCursor;
}
Catch
{
}
Finally
{
Cursor.Current=Cursors.Default;
}
技巧3
// DoEvents in C#
Application.DoEvents();
技巧4
// Replace method of string
strTmp.Replace(old,new);
技巧5
// Set Nothing in C#
obj = null;
技巧6
// C# Array declaration
int[] varname;