首先我想说下C#中的Linq,大家初学时在每个程序的开头都会见到using System.Linq;,可能猜到它跟数据库有关,但是具体不清楚。这里如果编程需要用到数据库,
则需要引入System.Data.Link。它让程序与数据库轻易的连接在一起,安卓平台也有自带的数据库,但是他们两者的性能我还没有什么好的方法来比较,这一点留给聪明的读者吧!
总之,它给C#的程序员带去一道光芒,让死寂的编程出现了一丝生机,免去了配置各种数据库的苦恼。这里为了读者的理解,奉上一张PPt的图
这张图很明白的告诉你这个LINK的机理,工科人一看就懂,萌萌哒
接下来我想讲下另所有程序员头痛的问题,那就是异常处理。我觉得评价一个程序员的好坏,很重要的一点就是看他对于异常的态度。很多人就直接抛出,死机,结束程序了事,
但是真正的顾客永远是世界上最挑剔的人,对于这样一帮永不满足的人,你的产品怎么会有受众?现在来看个最贱的,哦不最简单的例子
这是个简单的不得了的判断是否俩数能相除的代码。通常先处理派生最深的异常的类型,最后处理的是一般性异常。
异常具有以下特点:
- 各种类型的异常最终都是由 System.Exception 派生而来。
- 在可能引发异常的语句周围使用 try 块。
- 一旦 try 块中发生异常,控制流将跳转到第一个关联的异常处理程序(无论该处理程序存在于调用堆栈中的什么位置)。 在 C# 中,catch 关键字用于定义异常处理程序。
- 如果给定异常没有异常处理程序,则程序将停止执行,并显示一条错误消息。
- 除非您可以处理某个异常并使应用程序处于已知状态,否则请不要捕捉该异常。 如果捕捉 System.Exception,请在 catch 块的末尾使用 throw 关键字再次引发该异常。
- 如果 catch 块定义了一个异常变量,则可以用它获取有关所发生异常类型的更多信息。
- 程序可以使用 throw 关键字显式地引发异常。
- 异常对象包含有关错误的详细信息,比如调用堆栈的状态以及有关错误的文本说明。
- 即使发生异常也会执行 finally 块中的代码。 使用 finally 块释放资源,例如,关闭在 try 块中打开的任何流或文件。
- .NET Framework 中的托管异常是凭借 Win32 结构化异常处理机制实现的。 有关更多信息,请参见结构化异常处理 (C/C++) 和 A Crash Course on the Depths of Win32 Structured Exception Handling(有关深入探究 Win32 结构化异常处理的应急课程)。
刚学C#那阵,我知道有个东西叫WPF,但是一直不知道那个是干什么用的,最近有点开窍了(毕竟要交大作业了。。呜呜), Windows Presentation Foundation (WPF) 是下一代显示系统,用于生成能带给用户震撼视觉体验的 Windows 客户端应用程序。 使用 WPF,您可以创建广泛的独立应用程序以及浏览器承载的应用程序。为了大家能刚好的理解呢,博主粘一段代码来看:
打开Window1.xaml,用下面的代码替换原有的:
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="输入: "/>
<TextBox Name="TbInput" Width="100px"/>
<Button Name="BtnCalc" Click="BtnCalc_Click">求平均值</Button>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="平均值: "/>
<Label Name="LblResult" Foreground="Red" Width="100px">abc</Label>
</StackPanel>
</StackPanel>
</Window>
为BtnCalc_Click事件添加逻辑,打开Window1.xaml.cs,添加:
private void BtnCalc_Click(object sender, RoutedEventArgs e)
{
string input = TbInput.Text.Trim();
if (!String.IsNullOrEmpty(input))
{
string[] rawDataSet = input.Split(", ".ToCharArray());
if (rawDataSet.Length != 5)
return;
try
{
int i = 0;
double sum = 0;
for (; i < rawDataSet.Length; i++)
sum += Double.Parse(rawDataSet[i]);
LblResult.Content = sum / i;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
运行程序,在文本框中输入五个数,中间用空格或逗号分开,然后点计算平均值按钮,即可显示结果。这个只要你新建一个WPF程序然后,把这个代码跑一遍就知道WPF大概是个啥了
这里的Xaml是基于XML的标记语言(安卓用的就是XML哦),用于以声明形式申明程序的外观。 由于 XAML 基于 XML,因此使用它来编写的 UI 被组合到称为“元素树”的嵌套元素层次结构中。 元素树为创建和管理 UI 提供了一种逻辑且直观的方式。 有关更多信息,请参见 WPF 中的树。 还有WPF中的代码隐藏也十分有意思,我也正在探索中,有兴趣的读者可以了解下。。