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# 数组深拷贝的更多相关文章

  1. 新建 .NET Core 控制台项目

    1. 安装 .NET Core SDK 1.0 参考微软官方网站 https://www.microsoft.com/net/download/windows 2. 打开命令提示符:输入以下代码验证S ...

  2. 为何.NET Core控制台项目发布后是一个dll文件,而不是exe文件?

    项目中有一个.NET Core控制台项目叫ConsoleCoreApp,写好代码后准备发布: 结果发布后生成的是一个dll文件...为不是一个exe的可执行文件: 后来了解到.NET Core的项目分 ...

  3. ASP.NET CORE MVC 2.0 如何在Filter中使用依赖注入来读取AppSettings,及.NET Core控制台项目中读取AppSettings

    问: ASP.NET CORE MVC 如何在Filter中使用依赖注入来读取AppSettings 答: Dependency injection is possible in filters as ...

  4. 【C#程序集】为何.NET Core控制台项目发布后是一个dll文件,而不是exe文件?

    因为 .NET Core 的控制台应用默认是生成 dll 文件,而没有对应的 exe 文件.如下图所示,是在VS中编译后生成的结果 图中看到的TestVisualizer.exe 只是一个快捷方式, ...

  5. .NET Core 控制台项目中的Nuget打包类库及引用

    由于使用的是MAC版本的VSCode,所以全部是通过dotnet命令来完成的. 1.dotnet new lib 创建类库项目: 2.编辑项目根目录下的.csproj文件,添加版本号(建议): < ...

  6. WSL2 新建dotnet core mvc项目

    我们知道dotnet sdk会有很多命令,但在我们完全不知道如何去使用哪个命令. 我们使用dotnet -h进行查看: 我们看到SDK的new命令,但是new命令又如何使用呢? 我们再次使用帮助: 可 ...

  7. asp.net core控制台项目运行

    cmd中进入项目生成的dll目录下 运行命令: start dotnet xxx.dll

  8. vs2017新建.netcore相关项目提示"未检测到任何.NET Core SDK"或打开.net core 相关项目Web层总是未能正常加载

    近来vs2017出现一个非常怪的现象,之前新建.net core相关项目好好的,现在出现问题,如下: 解决办法,是更新vs2017,界面如下:

  9. 如何组织一个同时面向 UWP/WPF/.Net Core 控制台的 C# 项目解决方案

    希望写一个小型工具,给自己和需要的人.考虑到代码尽可能的复用,我准备采用 .Net Standard 来编写大多数核心代码,并基于 .Net Core 编写跨平台控制台入口,用 WPF 编写桌面端 U ...

随机推荐

  1. CF878D D. Magic Breeding bitset

    D. Magic Breeding time limit per test 4 seconds memory limit per test 1024 megabytes input standard ...

  2. 硅谷和国内的 iOS 开发到底有何不同?

    前段时间在国内各大互联网公司转了一圈.与各位 iOS 业界大佬交流了之后,深感国内变化之大,敬佩诸位国内开发者的实力和韧劲.除此之外,我还发现硅谷和国内的 iOS 开发还是差别很大,且听我慢慢道来. ...

  3. IE7下li超出ul的固定宽度后溢出bug

    问题描述: ul固定宽度,li浮动超出ul的宽度自动换行,li有左margin,但是靠近ul左边缘的那一列l 的margin设为0,其他浏览器正常,但是在ie7中超出ul宽度后会有一个l溢出并导致出现 ...

  4. ACM程序设计选修课——1049: Efface Numbers(贪心)

    1049: Efface Numbers Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 9  Solved: 4 [Submit][Status][W ...

  5. iOS-ASIHTTPRequest缓存机制

    第三方网络请求库 * 我们在对网络请求的时候,可以使用系统为我们提供的NSURLRequest和NSURLConnection,它基本能实现我们的基本功能. * 但是有时我们使用第三方封装的库,可以轻 ...

  6. Python基础教程总结(一)

    引言: 一直都听说Python很强大,以前只是浏览了一些博客,发现有点像数学建模时使用的Matlab,就没有深入去了解了.如今Python使用的地方越来越多,最近又在学习机器学习方面的知识,因此想系统 ...

  7. 2-sat 问题 【例题 Flags(2-sat+线段树优化建图)】

    序: 模拟赛考了一道 2-sat 问题.之前从来没听过…… 考完才发现其实这个东东只要一个小小的 tarjan 求强连通分量就搞定了. 这个方法真是巧妙啊,拿来讲讲. What is it? [・_・ ...

  8. 【CF1025C】Plasticine zebra(模拟)

    题意: n<=1e5 思路:可以证明答案即为极长交替出现的串长度之和 需要注意其实这个串是一个环,复制后再做 #include<cstdio> #include<cstring ...

  9. Sequelize的增删改查

    //启动mysql数据库 net start mysql //新建index.js //建立连接var Sequelize=require("sequelize");var mys ...

  10. javascript中实现类似php 的var_dump

    javascript语言中的调试功能少得可怜,如果涉及到第三方返回的对象数据更是使得开发程度加大.想到php中的var_dump,print_r简单好用,极大程序上方便了开发工作,在网上乱找一通,终于 ...