新建 .NET Core 控制台项目 C# 数组深拷贝
1. 安装 .NET Core SDK 1.0 参考微软官方网站 https://www.microsoft.com/net/download/windows
2. 打开命令提示符:输入以下代码验证SDK安装成功。
1 dotnet -version
创建一个名为“Hello”的文件夹。 这个名字将作为项目名。
1 md Hello 2 cd Hello
导航到创建的文件夹,键入下列内容:
$ dotnet new console $ dotnet restore $ dotnet run
控制台将会打印 HelloWorld
3. 文件分析:
dotnet new 会创建一个最新的 Hello.csproj 项目文件,其中包含生成控制台应用所必需的依赖项。
它还将创建 Program.cs,这是包含应用程序的入口点的基本文件。
可以先只看 Program.cs , 代码说明在注释中

using System; // 将 System 命名空间中的所有内容都纳入此文件的作用域
namespace Hello // 定义一个名为 Hello 的命名空间
{
class Program // 定义了一个名为 Program 的类
{
static void Main(string[] args) // Main 方法将字符串数组作为其参数
{
Console.WriteLine("Hello World!"); //在控制台打印“Hello World!”
}
}
}

数组深拷贝,即完全复制出一份新的数组,两个数组内容完全相同。
一般有四种方法:
1. 循环遍历复制
2. 数组的成员方法:CopyTo
CopyTo方法用作将源数组全部拷贝到目标数组中,可以指定目标数组的起始索引,但需确保目标数组能容纳下源数组,CopyTo可用来合并多个数组
3. Array类的静态方法:Array.Copy
Array.Copy方法可以将源数组的部分元素拷贝到目标数组中,三个参数时,可以指定源数组复制的元素数目(从第一个元素开始);五个参数时,不仅可以指定源数组复制的元素数目及起始索引,也能指定目标数组的起始索引。
4. object类成员方法:Clone
由于Clone的返回值类型是object,所以要强制转换为int[]

//已知数组如下:
int[] array = { 1, 5, 9, 3, 7, 2, 8 ,6, 4};
//(1).遍历拷贝
int[] copy1 = new int[array .Length];
for (int i = 0; i < array.Length; i++)
{
copy1[i] = array[i];
}
//(2).使用CopyTo方法
int[] copy2 = new int[array .Length];
array.CopyTo(copy2, 0);
//(3).使用Array.Copy方法
int[] copy3 = new int[array .Length];
Array.Copy(array, copy3, array.Length);
//(4).使用Clone方法
int[] copy4=(int[])array.Clone();

新建 .NET Core 控制台项目 C# 数组深拷贝的更多相关文章
- 新建 .NET Core 控制台项目
1. 安装 .NET Core SDK 1.0 参考微软官方网站 https://www.microsoft.com/net/download/windows 2. 打开命令提示符:输入以下代码验证S ...
- 为何.NET Core控制台项目发布后是一个dll文件,而不是exe文件?
项目中有一个.NET Core控制台项目叫ConsoleCoreApp,写好代码后准备发布: 结果发布后生成的是一个dll文件...为不是一个exe的可执行文件: 后来了解到.NET Core的项目分 ...
- ASP.NET CORE MVC 2.0 如何在Filter中使用依赖注入来读取AppSettings,及.NET Core控制台项目中读取AppSettings
问: ASP.NET CORE MVC 如何在Filter中使用依赖注入来读取AppSettings 答: Dependency injection is possible in filters as ...
- 【C#程序集】为何.NET Core控制台项目发布后是一个dll文件,而不是exe文件?
因为 .NET Core 的控制台应用默认是生成 dll 文件,而没有对应的 exe 文件.如下图所示,是在VS中编译后生成的结果 图中看到的TestVisualizer.exe 只是一个快捷方式, ...
- .NET Core 控制台项目中的Nuget打包类库及引用
由于使用的是MAC版本的VSCode,所以全部是通过dotnet命令来完成的. 1.dotnet new lib 创建类库项目: 2.编辑项目根目录下的.csproj文件,添加版本号(建议): < ...
- WSL2 新建dotnet core mvc项目
我们知道dotnet sdk会有很多命令,但在我们完全不知道如何去使用哪个命令. 我们使用dotnet -h进行查看: 我们看到SDK的new命令,但是new命令又如何使用呢? 我们再次使用帮助: 可 ...
- asp.net core控制台项目运行
cmd中进入项目生成的dll目录下 运行命令: start dotnet xxx.dll
- vs2017新建.netcore相关项目提示"未检测到任何.NET Core SDK"或打开.net core 相关项目Web层总是未能正常加载
近来vs2017出现一个非常怪的现象,之前新建.net core相关项目好好的,现在出现问题,如下: 解决办法,是更新vs2017,界面如下:
- 如何组织一个同时面向 UWP/WPF/.Net Core 控制台的 C# 项目解决方案
希望写一个小型工具,给自己和需要的人.考虑到代码尽可能的复用,我准备采用 .Net Standard 来编写大多数核心代码,并基于 .Net Core 编写跨平台控制台入口,用 WPF 编写桌面端 U ...
随机推荐
- 股票交易(DP+单调队列优化)
题目描述 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测到了未来T天内某只股票的走势,第i天的股票买入价为每股APi, ...
- 在Asp.net MVC中应该怎样使用Spring.Net
简单工厂 专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类或接口.简单工厂模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常根据一 ...
- ansible /usr/bin/python: not found
使用ansible命令的时候出错 ansible all -m ping 出现报错 192.168.199.154 | FAILED! => { "changed": fal ...
- Git 应用问题(一) —— failed to push some refs to git
今天在本地创建了一个新的 repository,想关联到 Github 上的时候出现问题,如下: Gerrard@LAPTOP-79570TK2 MINGW64 /g/github-workspace ...
- Miracast HDCP 等知识
Miracast 通讯架构中关于视频数据处理流程的部分.整个视频数据处理及传输的流程,大致上分为几个阶段,一开始将撷取到系统的画面及声音进行压缩,而压缩后的影音数据再转为基本封包串流(Packetiz ...
- java面试题之你了解守护线程吗?它和非守护线程有什么区别
程序运行完毕,jvm会等待非守护线程完成后关闭,但是jvm不会等待守护线程. 守护线程最典型的的例子是:GC线程
- RestAssured打印日志到文件中的方法
参考https://stackoverflow.com/questions/14476112/how-to-get-rest-assured-log-into-something-printable- ...
- The reference to entity "characterEncoding" must end with the ';' delimiter (Mybatis + Mysql)
数据源配置时加上编码转换格式后出问题了: The reference to entity "characterEncoding" must end with the ';' del ...
- poj 3246 Game
Game Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 2707 Accepted: 488 Description W ...
- tyvj 2020 rainbow 的信号
期望 被精度坑惨的我 注意:能开 long long 尽量开, 先除后乘, int 转 double 的时候 先转换在做运算 本题与位运算有关,位与位之间互不影响,所以我们可以分开考虑 #includ ...