C# 敏捷1
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApplication2
{
public class Post
{
public string Title { get; set; } = "Title";
public string Content { get; set; }= "Content"; public int? age { get; set; } = ;
//新特性
public DateTime DateCreated { get; private set; } = DateTime.Now;
public List<Comment> Comments { get; private set; } = new List<Comment>();
public int AddOld()
{
return + ;
} //新特性还是用Lambda的语法而已
public int AddNew() => +;
public int AddNew(int a) => + a; } public class Comment
{ }
class Program
{ static void Main(string[] args)
{
var dictionary = new Dictionary<string, string>
{
{ "key1","value1"},
{ "key2","value2"}
}; //新特性
var dictionary1 = new Dictionary<string, string>
{
["key1"] = "value1",
["key2"] = "value2"
};
Console.WriteLine(dictionary); Post post = new Post(); string t1 = string.Format("{0}_{1}", post.Title, post.Content);
//新特性
string t2 = $"{post.Title}_{post.Content}";
Console.Write(t1); Console.Write("-"); Console.WriteLine(t2); Console.Write(post.AddOld()); Console.WriteLine(post.AddNew());
//if (x in (1, 2, 3))
//if (x in 1:5)
//if (x between(1, 5)) List<Tuple<string, string, string>> result = new List<Tuple<string, string, string>>();
result.Add(new Tuple<string, string, string>("fa", "q:" , "")); string obj = null ; switch (obj)
{
case "+" :
Console.WriteLine();
break;
case null:
Console.WriteLine();
break; default:
Console.WriteLine();
break;
}
//var tuple = (1, 2); // 使用语法糖创建元组
var tuple2 = Tuple.Create(, ); // 使用静态方法【Create】创建元组
var tuple3 = new Tuple<int, int>(, ); // 使用 new 运算符创建元组
Tuple<int, int> r = Divide(, );
Console.WriteLine($"{r.Item1}_{r.Item2}");
var z = M();
Console.WriteLine($"{z.Item1}_{z.Item2}"); Tuple<string, Nullable<int>>[] scores =
{ new Tuple<string, Nullable<int>>("Jack", ),
new Tuple<string, Nullable<int>>("Abbey", ),
new Tuple<string, Nullable<int>>("Dave", ),
new Tuple<string, Nullable<int>>("Sam", ),
new Tuple<string, Nullable<int>>("Ed", null),
new Tuple<string, Nullable<int>>("Penelope", ),
new Tuple<string, Nullable<int>>("Linda", ),
new Tuple<string, Nullable<int>>("Judith", ) };
int number;
double mean = ComputeMean(scores, out number);
Console.WriteLine("Average test score: {0:N2} (n={1})", mean, number); Console.ReadKey(true);
}
public static Tuple<int, int> Divide(int dividend, int divisor)
{
int result = dividend / divisor;
int reminder = dividend % divisor;
return Tuple.Create<int, int>(result, reminder); //返回两个相同类型元素的元组
}
public static Tuple<int, string> M()
{
Tuple<int, string> tuple = null;
return tuple = new Tuple<int, string>(, "Sucess");
} private static double ComputeMean(Tuple<string, Nullable<int>>[] scores, out int n)
{
n = ;
int sum = ;
foreach (var score in scores)
{
if (score.Item2.HasValue)
{
n += ;
sum += score.Item2.Value;
}
}
if (n > )
return sum / (double)n;
else
return ;
} } }
C# 敏捷1的更多相关文章
- [转载]敏捷开发之Scrum扫盲篇
现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述S ...
- 敏捷软件开发VS传统软件工程
敏捷软件开发:又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新兴软件开发方法,是一种应对快速变化的需求的一种软件开发能力. 与传统软件工程相比,它们的具体名称.理念.过程.术语都不尽相同 ...
- 敏捷转型历程 - Sprint4 回顾会
我: Tech Leader 团队:团队成员分布在两个城市,我所在的城市包括我有4个成员,另外一个城市包括SM有7个成员.另外由于我们的BA离职了,我暂代IT 的PO 职位.PM和我在一个城市,但他不 ...
- 敏捷转型历程 - Sprint3 回顾会
我: Tech Leader 团队:团队成员分布在两个城市,我所在的城市包括我有4个成员,另外一个城市包括SM有7个成员.另外由于我们的BA离职了,我暂代IT 的PO 职位.PM和我在一个城市,但他不 ...
- 敏捷转型历程 - Sprint3 一团糟的演示会
我: Tech Leader 团队:团队成员分布在两个城市,我所在的城市包括我有4个成员,另外一个城市包括SM有7个成员.另外由于我们的BA离职了,我暂代IT 的PO 职位.PM和我在一个城市,但他不 ...
- 敏捷转型历程 - Sprint3 Planning
我: Tech Leader 团队:团队成员分布在两个城市,我所在的城市包括我有4个成员,另外一个城市包括SM有7个成员.另外由于我们的BA离职了,我暂代IT 的PO 职位.PM和我在一个城市,但他不 ...
- 敏捷转型历程 - Sprint3 Grooming
我: Tech Leader 团队:团队成员分布在两个城市,我所在的城市包括我有4个成员,另外一个城市包括SM有7个成员.另外由于我们的BA离职了,我暂代IT 的PO 职位.PM和我在一个城市,但他不 ...
- TFS 2015 敏捷开发实践 – 在Kanban上运行一个Sprint
前言:在 上一篇 TFS2015敏捷开发实践 中,我们给大家介绍了TFS2015中看板的基本使用和功能,这一篇中我们来看一个具体的场景,如何使用看板来运行一个sprint.Sprint是Scrum对迭 ...
- 敏捷测试模式之Scrum及其实践
一. 敏捷开发模式简介 敏捷是近年来软件研发领域很火的一个词,采用敏捷开发模式的研发团队是越来越多了,尤其是敏捷模式中的Scrum更是佼佼者大行其道,这表明敏捷模式确有其好处,能给企业带来效率的 ...
- TFS 2015 敏捷开发实践 – 看板的使用
看板在现代应用开发过程中使用非常广泛,不管是使用传统的瀑布式开发还是敏捷开发,都可以使用看板管理.因为看板拥有简单的管理方法,直观的显示方式,所以很多软件开发团队选择使用看板进行软件开发管理.本文不在 ...
随机推荐
- 浅谈Linux系统运维工程师必备技能
一.什么是运维工程师 相信读者们必定听说过Linux,也听说过运维工程师.那么运维工程师是个什么概念呢? 百度百科上的官方解释如下: 运维工程师(Operations)在国内又称为运维开发工程师(De ...
- 安装Adobe Acrobat XI Pro
从网上下载Adobe Acrobat XI Pro这款软件,下载后将其解压到我们的电脑上,然后找到setup.exe双击安装它,安装时选择“使用试用版本或订阅” 2 选择“自定义” 自定义安装组件 ...
- js 操作dom
childNodes 返回当前元素所有子元素的数组 parentNode 返回元素的父节点 document.createElement(tagName) 文档对象上的createElement方法可 ...
- Linux U盘安装
Ubuntu 15 U盘安装: 用UltraISO把iso文件写入到U盘中,选择hdd+模式. u盘启动后提示not a com32r image,先按tab键,然后输入live进入试用模式,然后再点 ...
- jq demo--横向+展开菜单,支持m站
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- C++基础知识:动态类型识别
1.动态类型指的是基类指针所指向的对象的实际类型 2.C++中的多态根据实际的对象类型调用对应的虚函数(1)可以在基类中定义虚函数返回具体的类型信息(2)所有的派生类都必须实现类型相关的虚函数(3)每 ...
- MySQL 必知必会学习笔记
SHOW DATABASES;USE LangLibCEE;SHOW TABLES;SHOW COLUMNS FROM customers;DESC customers; SHOW STATUS WH ...
- Zynq-PL中创建AXI Master接口IP及AXI4-Lite总线主从读写时序测试(转)
转载:原文 http://www.eefocus.com/antaur/blog/17-08/423751_6cc0d.html 0. 引言 通过之前的学习,可以在PL端创建从机模式的AXI接口IP ...
- git 继续前进篇
* git 输入 git log (--all)命令后出现<END>标记? 按q退出历史记录列表即可 * 继续前一天的 继续推送到github 步骤看图 先 链接到 之前工作区 的 文 ...
- 20165214 实验一 Java开发环境的熟悉
20165214 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:朱文远 学号:20165214 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验 ...