• (6)“深不见底”的C#


    首先我想说下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中的代码隐藏也十分有意思,我也正在探索中,有兴趣的读者可以了解下。。

  • 相关阅读:
    如何制作Python百分比进度条
    如何按列表的元素中的第二个元素排序
    map的用法Python
    上一个问题增加用户名密码登陆
    最近alex买了个Tesla Model S,通过转账的形式,并且支付了5%的手续费,tesla价格为95万。账户文件为json,请用程序实现该提现行为。
    最近alex买了个Tesla Model S,通过转账的形式,并且支付了5%的手续费,tesla价格为95万。账户文件为json,请用程序实现该转账行为。
    写一个6位随机验证码程序,要求验证码中至少包含一个数字,一个小写字母,一个大写字母
    传统html和html5网页布局
    图片路径问题
    面向对象编程的一个形象比喻
  • 原文地址:https://www.cnblogs.com/shenyuelong/p/4461403.html
Copyright © 2020-2023  润新知