C#自学之旅 第三周-资料

培训第三周 (本周的内容非常实用、后续项目开发中可能会用的很多)
由于疫情影响不能开多人会议,本周不进行培训讲座、培训采用资料自学+练习题的形式。
资料自学的要求与上周相同:
1. 自学需要记笔记(Word,Excel,PowerPoint… 都可以)
(注意笔记会在下周一进行检查。)
2. 大家应该都对 Java 非常熟悉了,在自学 C# 资料时注意与 Java 进行对比,
找异同点并记在笔记中。
3. 资料不能光看,一定要动手敲代码。
4. 不只是看指定的资料,不懂、不清楚、想了解更多的地方自己去查其他资料
资料:
[A] 集合及基础的 foreach 迭代器:
集合的概念和基本操作与Java非常类似,注意找与Java的区别
https://docs.microsoft.com/zh-cn/dotnet/standard/collections/commonly-used-collection-types
https://docs.microsoft.com/zh-cn/dotnet/standard/collections/selecting-a-collection-class
https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/iterators#using-iterators-with-a-generic-list
[B] LINQ入门
我们平时写业务代码,其实很大部分都是针对集合的各种操作,比如搜索、排序、多集合关联查询、集合合并、集合成员变换、List to Map、Count、按条件取最大最小。。。
传统 Java 中,这些操作都要手动写各种循环来做;在 C# 中用我们使用简洁易懂、灵活优雅的 LINQ 语句来实现
https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/linq/introduction-to-linq-queries
https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/linq/basic-linq-query-operations
https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/linq/data-transformations-with-linq
https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/linq/walkthrough-writing-queries-linq
[C] WinForm开发(第一部分)
本次培训的直接目的是为了今年的项目做技术准备,预计该项目中用到C#的领域集中在客户端画面开发,有很大可能会使用Windows Forms框架。
故本次培训从本周开始侧重WinForm开发。
这里提供一个教程文件:WinForm 实践开发教程.pdf (时间仓促找的这个书比较老是面向 .NET Framework 2 的,不过 WinForm 基础的那些东西应该是不会变的)
本周学习第一章的二三节:
再次强调不要光看书,要敲代码!
练习题:
 

 

               
 培训第三周          
 编程练习           
  编程练习1 —— LINQ查询练习        
   现在已知三个数据源(在练习时可用手动创建填充数据的 List<Xxx>来代表,实际项目中可能来自于DAO、Service) 
    A. 部门         
     DEPTNODNAMELOC       
     10ACCOUNTINGNEW YORK       
     20RESEARCHDALLAS       
     30SALESCHICAGO       
     40OPERATIONSBOSTON       
    B. 职员         
     EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO  
     1000KEVINCLEANER1001 600020010  
     7369SMITHCLERK79021980/12/17800.9 20  
     7499ALLENSALESMAN76981981/2/20160030030  
     7521WARDSALESMAN76981981/2/22125050030  
     7566JONESMANAGER78391981/4/22975 20  
     7654MARTINSALESMAN76981981/9/281250140030  
     7698BLAKEMANAGER78391981/5/12850 30  
     7782CLARKMANAGER78391981/6/92450 10  
     7788SCOTTANALYST75661987/4/193000 20  
     7839KINGPRESIDENT 1981/11/175000.123 10  
     7844TURNERSALESMAN76981981/9/81500030  
     7876ADAMSCLERK77881987/5/231100 20  
     7900JAMESCLERK76981981/12/3950 30  
     7902FORDANALYST75661981/12/33000 20  
     7934MILLERCLERK77821982/1/231300 10  
    C. 工资等级标准         
     GRADELOSALHISAL       
     17001200       
     212011400       
     314012000       
     420013000       
     530019999       
               
   现在要求写 LINQ 查询,实现如下效果:        
    LINQ 练习 1         
     查询数据,得到如下形式的结果,并通过字符串形式输出给用户:     
     部门名员工        
     ACCOUNTINGXXX        
     ACCOUNTINGYYY        
             
     RESEARCHZZZ        
     RESEARCHLLL        
             
     SALESKKK        
     SALESPPP        
             
     OPERATIONSOOO        
     OPERATIONSPPP        
             
               
    LINQ 练习 2         
     查询数据,得到如下形式的结果,并通过字符串形式输出给用户:     
     (最好能通过一条LINQ查询就出这样的结果,当然通过多条LINQ查询实现也可以)    
     

 

(然后可以对比下用 for 循环实现,能简化多少代码)

 

 

        
              
               
  编程练习2 —— WinForm练习        
     新建一个图形用户的项目,包含三个窗口:       
      - 登录画面         
      - 用户信息一览画面        
      - 用户信息录入画面        
               
     要求:         
      - 启动自动打开登陆画面,用户名/密码错误 提示用户(用户名、密码用固定的,比如 root/admin)  
      - 登录成功进入用户信息一览画面(用户信息有哪些可参考编程练习题 1)     
      - 可以从一览画面跳转到用户信息录入画面,在该画面录入的信息可以反映到一览画面    
      - 尽量多的使用不同的 WinForm 控件 (下拉框、文本框、多选、单选。。。)    
      - 用户数据不需要持久化,直接使用内存中的集合集合(我们的主要目的是练习 WinForm)   
      - 进阶:用高级控价 DataGrid/DataTable 等来实现一览画面(你甚至可以上网去找开源的第三方库去实现!) 
               
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值