小编kr8*_*r85的帖子

为什么Scala没有枚举类型,当前设计有哪些好处?

他们决定不在Scala中实现枚举类型的原因是什么?当前语言设计的好处是什么(定义对象和扩展scala.Enumeration而不是创建新的枚举类型)?

scala language-design

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

向List <T>添加新方法

有没有办法将List方法的新方法添加到它所构成的对象上.换句话说,可以用这样的方式编写类,当List由它构成时,它会向该List添加新方法.这是一个例子:

class Employee
{
    public int age;
    public Employee(int age)
    {
         this.age = age;
    }
    //some more code here...
}
Run Code Online (Sandbox Code Playgroud)

然后:

List<Employee> sector01 = new List<Employee>(){new Employee(22), new Employee(35)};
sector01.OutputAll(); //Adds method like this
Run Code Online (Sandbox Code Playgroud)

c# methods

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

向Task添加状态的问题

我刚开始学习如何在C#中使用Task.但我一开始就遇到了问题.当我运行此代码时,控制台窗口中没有显示任何内容.为什么?

static void Main(string[] args)
{
    Task task1 = new Task((obj) => PrintMsg(obj), "Hello Task");
    task1.Start();
}

static void PrintMsg(object msg)
{
    Console.WriteLine(msg);
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading .net-4.0 task

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

对象初始化类似于List <>语法

如何定义类以便可以类似地初始化类List<T>:

List<int> list = new List<int>(){ //this part };
Run Code Online (Sandbox Code Playgroud)

例如,这种情况:

Class aClass = new Class(){ new Student(), new Student()//... };
Run Code Online (Sandbox Code Playgroud)

c# collections collection-initializer

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

DomainDrivenDesign 中的搜索查询和搜索结果

我有一个包含新闻帖子的网络应用程序。这些新闻帖子应该是可搜索的。在 DDD 的背景下,搜索查询和搜索结果是什么样的构建块?

这些是我的想法

它们都没有身份,因此它们不是实体。但缺乏身份并不意味着它们是值对象。正如埃里克·埃文斯所说:

然而,如果我们认为此类对象只是缺乏身份,那么我们就没有在我们的工具箱或词汇中添加太多内容。事实上,这些对象都有自己的特点和对模型的意义。这些是描述事物的对象。

我想说两者都是价值对象,但我不确定。让我困惑的是我在互联网上找到的例子。通常值对象是其他实体的一部分,它们不是“独立的”。Martin Fowler给出了例如 Money 或日期范围对象。Adam Bien事件将它们与枚举进行比较。

如果搜索结果被视为值对象,那么它将是由实体组成的值对象。我不确定这完全没问题。

我不认为它们是 DataTransferObject。因为我们当前不关心层之间传输数据,但我们关心它们在没有层的情况下对模型的意义。

我不认为搜索查询是命令。因为这不是要求改变。正如CQRS上所述

人们通过发送命令来请求对域进行更改。

我正在尝试使用和学习 DDD,有人可以向我澄清这个问题吗?我的推理哪里出了问题?

domain-driven-design

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

使用指针跨越INTEGER数组中的所有元素

有没有办法使用指针跨越整数数组中的所有元素(类似于使用指针跨越字符串元素).我知道整数数组不是NULL终止所以当我尝试使用指针溢出数组时溢出.所以我添加NULL作为数组的最后一个元素,它工作得很好.

int array[7]={1,12,41,45,58,68,NULL};
int *i;
for(i=array;*i;i++)
    printf("%d ",*i);
Run Code Online (Sandbox Code Playgroud)

但是,如果数组中的一个元素为0,那将表现为NULL.是否有任何其他方法可以实现指针跨越整数数组中的所有元素?

c c++ arrays pointers

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

不清楚perl脚本执行

我的perl scipt的执行官不清楚.它不执行每行一行,我不知道为什么?

码:

#!usr/bin/perl -w
#line 200 "Level Check"
print "\n1";
$level=554;
if($level > 550){
warn "Level Higher Than 550 ($level)";
}
print "\n2";
Run Code Online (Sandbox Code Playgroud)

输出:

水平检查线203的水平高于550(554).

1

2

为什么不输出:

1

水平检查线203的水平高于550(554).

2

perl

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

如何在标量上下文中使用菱形运算符作为函数调用参数?

如何直接将菱形运算符中的值传递给函数(sub)?

我试过了:

#!/usr/bin/perl
use Math::Complex;

#quadraticEq - quadratic equation with parameters a ,b ,c
sub quadraticEq {
    print "\nx1= ", 
      ($_[1]*$_[1]-sqrt($_[1]*$_[1]-4*$_[0]*$_[2]))/(2*$_[0]),
      "\nx2= ",
      ($_[1]*$_[1]+sqrt($_[1]*$_[1]-4*$_[0]*$_[2]))/(2*$_[0]);
}

print 'Enter Numbers:';
quadraticEq(<>,<>,<>); #here
Run Code Online (Sandbox Code Playgroud)

但是当我为每个函数参数输入数字时,我需要输入EOF.它表现得像@array=<>.我希望它表现得像$var=<>.所以输入应该如下所示:

Enter Numbers: 5 4 3
Run Code Online (Sandbox Code Playgroud)

perl diamond-operator

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

是否有文件字节的.NET包装器?

.NET中是否有一些文件字节包装器?

我不喜欢使用byte [].在文件字节的情况下,类型(byte [])没有给出足够的语义含义,因为并非所有byte []都是文件字节.将其作为论据传递令人不舒服......

我知道写这种自己的包装会很容易.例如:

public class FileBytes
{
    public FileBytes
    (
        byte[] value
    )
    {
        Contract.Requires(value != null);
        Contract.Requires(value.Length != 0);

        this.Value = value;
    }

    public byte[] Value { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有一些.NET-box解决方案.

.net c# types

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

文件类型.pl关联和使用cmd.exe运行脚本

我创建了一个新文件类型.pl(资源管理器 - >工具 - >文件夹选项...->文件类型).现在我想创建一个新的Action,它将调用cmd.exe并自动运行PERL脚本.我不知道在"用于执行操作的应用程序"下要写什么,我必须传递cmd.exe某些参数但我不知道知道哪个.我想,论证的形式应该是:[cmd.exe] < 文件位置 > perl < 文件名 >

windows perl cmd

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

DateTimeOffset格式

我想从DateTimeOffset类型获取格式化字符串,它应该如下所示:20.2009年7月.(带点),我尝试使用此代码:

Birthday.ToString("dd. MMMM yyyy.")
Run Code Online (Sandbox Code Playgroud)

但我只得到空弦.

编辑: 我在使用Razor的ASP.NET MVC3 C#项目中使用它.这是完整的一行:

@Html.Label(Model.Birthday.ToString("dd. MMMM yyyy."))
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc-3

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

其中包含私有方法的静态方法[C#]

我想作一个 绘制这将有静态方法 ConsoleSquare() ,我想使这个类隐藏(所有其他方法私人).但我在的地方标注了错误,我不知道如何解决,仍然实现相同的想法(ConsoleSquare() - 静态;隐藏所有其他方法)

class Draw {
private string Spaces(int k){
    string str="";
    for(;k!=0;k--)
        str+='\b';
    return str;
    }
private string Line(int n,char c){
    string str="";
    for(;n!=0;n--)
        str+=c;
    return str;
    }
public static void ConsoleSquare(int n,char c){
    string line  = Line(n,c); // ovdje
    string space = c + Spaces(n - 2) + c; //ovdje
    Console.WriteLine(line);
    for (; n != 0; n--)
        Console.WriteLine(space);
    Console.WriteLine(line);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# static-methods

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

字符串引用

如果ab是同一个对象,为什么不值都引用a变化,当我们改变的值b第三部分.如果我假设(如在第3 部分中)b在我传递一个新的文字字符串时被解除引用,为什么当我传递litaral字符串(返回)时它也不会在第2 部分中取消引用."foo"ReferenceEqualstrue

//part1
string a = "foo";
string b = a;
System.Console.WriteLine("\na = {0}\nb = {1}", a, b); //a=foo b=foo
System.Console.WriteLine("a == b : {0}", a == b);//True
System.Console.WriteLine("ReferenceEquals(a, b): {0}", ReferenceEquals(a, b));//True

//part2
b = "foo";
System.Console.WriteLine("\na = {0}\nb = {1}", a, b);//a=foo b=foo
System.Console.WriteLine("a == b : {0}", a == b);//True
System.Console.WriteLine("ReferenceEquals(a, b): {0}", ReferenceEquals(a, b));//True

//part3
b = "bar"; …
Run Code Online (Sandbox Code Playgroud)

c# string reference

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