小编Tra*_*eed的帖子

为什么要在C#中使用"in"参数修饰符?

所以,我(我想)理解in参数修饰符的作用.但它的作用似乎是多余的.

通常,我认为使用a的唯一原因ref是修改调用变量,这是明确禁止的in.因此,通过in引用传递在逻辑上等同于传递值.

是否有某种性能优势?我认为,在事物的后端,ref参数必须至少复制变量的物理地址,该地址应与任何典型的对象引用相同.

那么,那么只是在更大的结构中的优势,还是有一些幕后编译器优化使其在其他地方具有吸引力?如果是后者,为什么我不应该把每个参数都做成in

c# c#-7.2

54
推荐指数
3
解决办法
5815
查看次数

如何阻止 Github 的 Web 编辑器在文件末尾添加换行符?

我最近使用 Github 的网页编辑器提出了对项目的更改。但是,它在文件末尾添加了换行符,这违反了项目的样式规则(某种兼容性问题)。

我尝试简单地删除换行符,但提交后我得到的只是:

没有可显示的更改。

该提交没有内容。

我已经深入研究了 github 设置,但没有找到任何可能与换行符或文件结尾相关的内容。我对 git 命令行一无所知,也不了解除了 Web 编辑器之外使用 github 的任何方式。我什至几乎不了解如何克隆存储库。

我该如何解决?

github

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

共同朋友课程的C#解决方法

因此,我有一个与用例相似的用例,但还有一些其他细节,我认为值得提出一个新问题。(相关 问题,以供参考)

我正在写一个实现循环的数据结构。基本设计是这样的:

public class Cycle<T>
{
    public Node<T> Origin { get; private set; }
    public int Count { get; private set; }
}

public class Node<T>
{
    public Cycle<T> Cycle { get; private set; }
    public Node<T> Next { get; private set; }
    public Node<T> Previous { get; private set; }
    public T Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是,我要实现以下所有行为:

  1. 更新Cycle.Count作为插入/删除节点的次数
  2. 允许一个“空” Cycle(即Origin = null)创建一个新NodeOrigin …

c# encapsulation friend inner-classes

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

标签 统计

c# ×2

c#-7.2 ×1

encapsulation ×1

friend ×1

github ×1

inner-classes ×1