小编exp*_*rer的帖子

base()和this()构造函数的最佳实践

在什么情况下我应该在做:base():this() 构造函数调用以下我的构造函数的括号内(甚至在代码的其他地方).这些什么时候称为良好做法,什么时候强制执行?

c# oop inheritance constructor instantiation

80
推荐指数
5
解决办法
7万
查看次数

SVN可以做什么,Git不能?

我目前Git在掌握之前已经深入了解SVN.这是我第一次认真的源控制管理系统学习体验.

我想知道不学习的机会成本(甚至是去学习我学到的东西)SVN.有什么我需要注意的吗?

是否存在与之Git相比不可行或难以忍受的事情SVN

svn git

20
推荐指数
5
解决办法
4100
查看次数

TryAddEnumerable(ServiceDescriptor) 和其他 TryAdd{lifetime} 调用之间的确切区别是什么

services.TryAddEnumerable(ServiceDescriptor) 和另一组调用(TryAddSingleton、TryAddScoped、TryAddTransient)似乎都在做同样的事情——它们首先检查依赖注入容器中服务的先前注册情况,然后仅在有服务的情况下才注册它尚未注册。

这是文档的相关链接: https: //learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection --- 它并没有真正阐明差异,我找不到太多来自谷歌搜索。

c# asp.net dependency-injection .net-core

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

F#可以教我很好的函数式编程实践吗?

我打算让自己沉浸在函数式编程范式中,让思维过程成为我的第二天性..Net/Mono是我熟悉的唯一框架/对象模型,我不想学习任何其他类型的系统.这使得F#显而易见,因为学习新型系统的负担不会是一个令人分心的因素.

但我关心的是语言本身.在将FP钻入我的头骨时,它是否会像任何其他经典函数编程语言(例如Haskell)一样好?

.net f# functional-programming c#-to-f#

8
推荐指数
2
解决办法
736
查看次数

Console.ReadLine()的替代方案,以使控制台可见

是不是有一个更好看的声明(或方式)来防止控制台消失,而不是hackish Console.ReadLine()调用.是什么东西更能表达目的,更正交,保持控制台可见?

c#

5
推荐指数
2
解决办法
8848
查看次数

实现一种新的编程语言

假设我为其中一个托管代码环境(.NET/JVM)设计了一种新的编程语言.我现在可以通过简单地编写一个翻译器来实现它,该翻译器将这种新语言的源代码翻译成平台的主要语言(C#/ Java),然后让平台的编译器和其他工具处理其余的过程吗?是否有任何简单的概念证明,这种方法的例子?

programming-languages

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

关于拳击价值类型的困惑

在以下代码中......

 int i=5;  
 object o = 5;
 Console.WriteLine(o); //prints 5
Run Code Online (Sandbox Code Playgroud)

我有三个问题:

1)什么额外的/有用的功能是由所获取5 居住在变量o 使得5由变量表示的i不具有?

2)如果某些代码期望一个值类型,那么我们可以将它传递给int i,但如果它期望一个引用类型,它可能不会对5中的盒子感兴趣o.那么什么时候在代码中明确使用装箱转换?

3)怎么Console.WriteLine(o)打印出5而不是System.Object?

c#

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

文化敏感大写ToUpperInvariant/ToLowerInvariant

什么特定的英文字母需要ToUpper()和ToLower()案例转换的不变版本调用正确的行为?

.net c#

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

具有autoproperties和构造函数的意外C#行为

我花了一些调试来解决这个问题(或者我认为是这样).我会让你的代码松散,看看你提出了什么.有一个简单的Contact类:

  1. 一些自动属性,
  2. 一个参数化构造函数,它总是递增Contact.ID属性并根据它获得的参数设置其他属性
  3. 一个无参数构造函数,它始终使用默认值调用参数化构造函数.

首先看代码; 它的输出和问题遵循以下代码:

 using System;

 class Program 
 {
   private static void Main(string[] args) 
   {
      Contact[] contacts_array = {

         //Contact 0
         new Contact(),

         //Contact 1
         new Contact {
            Name = "contactName1",
            Age = 40,
            Email = "emailaddress1@email.com"
         },

         //Contact 2
         new Contact {
            Name = "contactName2",
            Age = 41,
            Email = "emailaddress2@email.com"
         },

         //Contact 3
         new Contact("contactName3",
            42,
            "emailaddress3@email.com"),
      };

      foreach (var contact in contacts_array)
         Console.WriteLine(contact);

      Console.ReadLine();
   }
}

public class Contact
{
    public …
Run Code Online (Sandbox Code Playgroud)

automatic-properties c#-3.0

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

为C#打印关键字...为什么不呢?

我的想法/建议的理由如下:

1)Console.WriteXX()的使用频率可能高于C#
2中的许多关键字.作为I/O设备的控制台不会很快消失.
3)我想不出任何通用编程语言不能以某种形式提供"写入控制台"设施.
4)美学(即干净,简单,简短,直接)
5)打印"你好"; 不会让我觉得我打字的次数超过了所需要的数量.每次我必须编写Console.WritXX()...甚至在代码中读取它,这是一件苦差事.
6)它更接近于C/C++系列值和传统,为基于I/O的基本文本提供特殊状态
7)如果决定"打印"一个关键词,将很难想象未来的情况.8)打印如{print"hello"; }而不是像{print("hello");}中的print,不太可能破坏任何现有代码.

c#

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