C# 使用Enumerable.Range 打印数字
static void Main(string[] args)
{
var list1 = Enumerable.Range(0, (int)Math.Pow(2, 22)).ToList(); var list2 = new List<int>(list1);
list2.Add(1); Console.WriteLine($"list1.Capacity={list1.Capacity}");
Console.WriteLine($"list2.Capacity={list2.Capacity}"); Console.ReadLine();
}
一、源码
public static IEnumerable<int> Range(int start, int count)
{
long num = (long) start + (long) count - 1L;
if (count < 0 || num > (long) int.MaxValue)
throw Error.ArgumentOutOfRange("count");
else
return Enumerable.RangeIterator(start, count);
}
private static IEnumerable<int> RangeIterator(int start, int count)
{
for (int i = 0; i < count; ++i)
yield return start + i;
}
二、写我们自己的时间序列DataRange
// implementation
public static System.Collections.Generic.IEnumerable<DateTime> DateRange(DateTime begin, DateTime end)
{
for (var iterator = begin; iterator <= end; iterator = iterator.AddDays(1))
{
yield return iterator;
}
}
// usage
foreach (var date in DateRange(DateTime.Now.Date,DateTime.Now.Date.AddDays(5).AddHours(3)))
{
Console.WriteLine(date.ToLocalTime());
}
C# 使用Enumerable.Range 打印数字的更多相关文章
- lintcode:递归打印数字
题目 用递归打印数字 用递归的方法找到从1到最大的N位整数. 样例 给出 N = 1, 返回[1,2,3,4,5,6,7,8,9]. 给出 N = 2, 返回[1,2,3,4,5,6,7,8,9,10 ...
- 使用C++代码打印数字正方形
使用C++代码打印数字正方形 作为一名初学者,最近在跟着网课学习C++程序设计基础.在学习过程中遇到了一些习题,我根据自己的理解和思路写了一些代码实现,算是对自己学习过程的一个记录,也希望可以对别人有 ...
- 25 range打印100到0的连续整数
使用range打印100,99,98,...0for i in range(100,-1,-1): print(i)
- 面试 15:顺时针从外往里打印数字(剑指 Offer 第 20 题)
面试 15:顺时针从外往里打印数字 题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印每一个数字.例如输入: {{1,2,3}, {4,5,6}, {7,8,9}} 则依次打印数字为 1.2.3. ...
- LintCode-371.用递归打印数字
用递归打印数字 用递归的方法找到从1到最大的N位整数. 注意事项 用下面这种方式去递归其实很容易: recursion(i) { if i > largest number: return re ...
- Java n个线程轮流打印数字的问题
一. 实现两个线程.轮流打印出数字.例如以下: bThread --> 10 aThread --> 9 bThread --> 8 aThread --> 7 bThread ...
- Java多个线程顺序打印数字
要求 启动N个线程, 这N个线程要不间断按顺序打印数字1-N. 将问题简化为3个线程无限循环打印1到3 方法一: 使用synchronized 三个线程无序竞争同步锁, 如果遇上的是自己的数字, 就打 ...
- java实现第七届蓝桥杯打印数字
打印数字 打印数字 小明写了一个有趣的程序,给定一串数字. 它可以输出这串数字拼出放大的自己的样子. 比如"2016"会输出为: 00000 1 6666 2 0 0 1 1 6 ...
- python 小程序,打印数字
要求如下: 指定一个数字 x ,然后打印 1到x 的所有数字,并问是否继续打印,否退出程序,是就继续.再指定一个数字 y ,如果 y> x 就显示 x+1 到 y 的所有数字,y <= x ...
- Python基础-使用range创建数字列表以及简单的统计计算和列表解析
1.使用函数 range() numbers = list(range[1,6]) print (numbers) 结果: [1,2,3,4,5] 使用range函数,还可以指定步长,例如,打印1~1 ...
随机推荐
- MATLAB基础—基础认识
数建-MATLAB(基础认识) 一些基本使用 clear all :清除Workspace中的所有变量 clc: 清除Command Window中的所有命令 注释:%%(空空格)多行注释 或 % 单 ...
- JSON操作方法
一 JSON.stringify JSON.stringify() 方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串,如果指定了replacer是一个函数,则可以替换值,或 ...
- RDD持久化和检查点
val count: RDD[(String, Int)] = mapRDD.reduceByKey(_ + _)count.collect() val value: RDD[(String, Ite ...
- kubectl --v日志级别
Kubectl 日志输出详细程度是通过 -v 或者 --v 来控制的,参数后跟了一个数字表示日志的级别.Kubernetes 通用的日志习惯和相关的日志级别在 这里 有相应的描述. 详细程度 描述-- ...
- Linux系统root密码忘记修改
重启Linux系统 到启动状态: 按任意键,进入GRUB菜单: 按字母e进入: 调整到上图,按字母e,进入 不进行删减,在后面输入" 1"(空格1),按回车,进入 或者将" ...
- RepVGG:一个结构重参数化网络
本文来自公众号"AI大道理" ResNet.DenseNet 等复杂的多分支网络可以增强模型的表征能力,使得训练效果更好.但是多分支的结构在推理的时候效率严重不足. 看起来二 ...
- OS X Maven 安装与使用简介
Java真的很重很复杂,连项目构建和编译都得专门拉出来学,这里整理一下在OS X上使用Maven的注意事项. 一.安装 [bash] 1.从http://maven.apache.org/downlo ...
- ICPC2020 World Final
ICPC2020 WF C 洛谷 题意:给定矩形区域左下角\((0,0)\),右上角\((dx,dy)\),其中\(2<=dx,dy<=10^5\),在矩形区域有\(n(n<=100 ...
- MySQL的架构与历史1.5MySQL的存储引擎
1.5 MySQL的存储引擎 1.5.1 InnoDB存储引擎 InnoDB是 MySQL的默认事务型引,也是最重要.使用最广泛的存储引擎.它被设计用来处理大量的短期 (short-lived)事务, ...
- ubuntu18 build opencv4 from source
1 安装依赖 ## Install dependencies sudo apt -y install build-essential checkinstall cmake pkg-config yas ...