小编Cae*_*ium的帖子

初始化变量时使用大括号({})或等号(=)

当我阅读《C++编程语言第4版》时,要初始化变量,作者说最好使用{}而不是=初始化变量:

变量初始化

但我发现使用的人={}.
那么哪种方法是值得坚持的好原则呢?=或者{}

c++ initialization list-initialization

16
推荐指数
1
解决办法
2万
查看次数

Numpy:通过切片查看vs复制

当我正在进行切片时,发生了意想不到的事情,这似乎是第一个被查看但第二个是复制.

第一

第一片行,然后是片段.这似乎是一种观点.

>>> a = np.arange(12).reshape(3, 4)   
>>> a[0:3:2, :][:, [0, 2]] = 100
>>> a
array([[100,   1, 100,   3],
       [  4,   5,   6,   7],
       [100,   9, 100,  11]])
Run Code Online (Sandbox Code Playgroud)

第二

但是,如果我第一次切片,然后切片行,它似乎是一个副本:

>>> a[:, [0, 2]][0:3:2, :] = 0
>>> a
array([[100,   1, 100,   3],
       [  4,   5,   6,   7],
       [100,   9, 100,  11]])
Run Code Online (Sandbox Code Playgroud)

我很困惑,因为这两种方法最终会导致看似位置改变,但为什么第二种方法实际上不会改变数字?

python numpy slice

11
推荐指数
2
解决办法
2289
查看次数

为什么在C#中有Console.Error()但没有Console.Warning呢?

在C#中,如果我们想向Console输出错误,我们可以简单地写:

Console.Error.Write("Error!");
Run Code Online (Sandbox Code Playgroud)

但是当我尝试向Console写警告时,我发现没有:

Console.Warning.Write("Warning!");
Run Code Online (Sandbox Code Playgroud)

相反,我需要写:

WarningException myEx=new WarningException("This is a warning");        
Console.Write(myEx.ToString());
Run Code Online (Sandbox Code Playgroud)

为什么它的设计符合这种格式?

.net c#

2
推荐指数
1
解决办法
1817
查看次数

C# 枚举的基本类型

我有一个enum Color,它可能派生自longor byteor int,我想知道它真正派生自什么类型,longor byteor int?在这个过程中,我遇到了2个问题。

首先, 的Color定义如下:

enum Color : long
{
    red = 1,
    black = 2,
    blue = 3
}
Run Code Online (Sandbox Code Playgroud)

问题1

我编写下面的代码来执行此类操作:

Console.WriteLine(typeof(Color));    // ConsoleApp7.Color
Console.WriteLine(typeof(Color).BaseType);    // System.Enum
Run Code Online (Sandbox Code Playgroud)

这时,我遇到了我的第一个问题:很好奇的是typeof(Color).BaseTypeSystem.Enum因为Color是一种enum类型。

所以我想知道您是否定义了enum类似的类型enum Enum1 { ... },它实际上意味着:class Enum1 : enum { ... }

问题2

基于问题1,如果我想得到它真正的基类型,我需要写:

Console.WriteLine(typeof(Color).BaseType.BaseType);
Run Code Online (Sandbox Code Playgroud)

它的输出是System.ValueType,我们知道intbyte …

c# enums types

1
推荐指数
1
解决办法
2478
查看次数

标签 统计

c# ×2

.net ×1

c++ ×1

enums ×1

initialization ×1

list-initialization ×1

numpy ×1

python ×1

slice ×1

types ×1