小编No *_*ame的帖子

更好的总结方式

我有问题以模块化的方式汇总项目.

我有这门课:

public enum ReportType
{
  Worker,
  Management,
  Guest
}

public class Report
{
  public ReportType Type { get; set; }
  public int Lost { get; set; }

  public Report(ReportType typ, int los)
  {
     Type = typ;
     Lost = los;
  }
}
Run Code Online (Sandbox Code Playgroud)

以及获取列表的方法Report,并且应该找出并返回Report具有最大损失的列表,并根据该数字进行一些计算.我开始的方法:

public class ReportsManager
{
  public static List<Report> CalculateBiggerLost(List<Report> reportList)
  {
     int WorkerSum = 0;
     int ManagementSum = 0;
     int GuestSum = 0;

     foreach (Report report in reportList)
     {
        switch (report.Type)
        {
              case ReportType.Guest: …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

尝试由于错误的char而序列化Xml(作为字符串)时出现异常

我有以下xml:

<?xml version="1.0" encoding="WINDOWS-1255"?>
<body>
    <HotelBooking>
        <customers>
            <cust>
                <custID>1111111</custID>
                <title>MR</title>
                <lastName>MASAREWH</lastName>
                <firstName>AHMAD IRAKI</firstName>
            </cust>
            <cust>
                <custID>22222222</custID>
                <title>MRS</title>
                <lastName>HAJ YAHYA IRAQI</lastName>
                <firstName>HIMAT</firstName>
            </cust>
        </customers>
        <Details>
            <name>Dublin & South</name>
        </Details>
    </HotelBooking>
</body>
Run Code Online (Sandbox Code Playgroud)

当我尝试将它序列化为一个对象时,我得到一个例外. System.InvalidOperationException: There is an error in XML document

尝试使用notepad ++ XML插件工具编辑此XML后我明白问题是'&'char中的:

<name>Dublin & South</name>
Run Code Online (Sandbox Code Playgroud)

如果我不想更改xml本身(例如将'&'替换为'AND'或类似的东西),我在这里有什么选择?还有更多的字符可能会使我的序列化过程失败吗?

thx任何帮助!

c# xml

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

Command模式或Strategy模式更适合客户端 - 服务器调用吗?

我需要在求职面试中创建客户端 - 服务器程序,其中客户端发送命令并且服务器处理它们.

服务器需要能够轻松更改,这意味着以后可能会有更多的命令类型.

所以我使用Strategy实现它,这意味着类处理命令看起来类似于:

public class ServerProcessor
{
    Dictionary<string, Action<string>> commandsType;

    public ServerProcessor()
    {
        commandsType = new Dictionary<string, Action<string>>();
    }

    public void RegisterCommand(string commandName, Action<string> command)
    {
        commandsType.Add(commandName, command);
    }

    public void Process(string commandName, string vars)
    {
        if (commandsType.ContainsKey(commandName))
        {
            commandsType[commandName].Invoke(vars);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在我这样做之后,面试官说我需要使用Command模式实现它,但没有说明原因.

Command模式将是这样的:

public interface ICommand
{
    void Execute(string vars);
    string GetName();
}

public class ServerProcessor2
{
    List<ICommand> commandsType;

    public ServerProcessor2()
    {
        commandsType = new List<ICommand>();
    }

    public void RegisterCommand(ICommand commandName)
    {
        commandsType.Add(commandName);
    }

    public void …
Run Code Online (Sandbox Code Playgroud)

c# design-patterns strategy-pattern command-pattern

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

如何在 C++ 中将一个字符 strcat 为数组字符

我想从中获取一个字符cin.get()并将其添加到数组字符中。我使用strcat,但单个字符有错误。如果你知道请帮助我。感谢您的所有回答。

void main (void)
{
 char e[80]="hi";
 char c;
 cin.get(c);
 strcat(e,c);
 cout << "e: " << e << endl;
 getch();
}
Run Code Online (Sandbox Code Playgroud)

这是我想要执行此操作的代码的一部分。

c++ arrays character char strcat

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

减去两个日期时间字段返回错误的总小时值

我尝试编写减去两个日期时间字段的代码,并将结果返回给TimeSpan对象并返回Total Hours值.

DateTime x = new DateTime(2013, 7, 18, 12, 57, 40);
DateTime y = new DateTime(2013, 7, 18, 13, 2, 19);
double m = y.Subtract(x).TotalHours;
Run Code Online (Sandbox Code Playgroud)

我期望值m是0.073166667,但实际结果是0.0775为什么?

编辑

对不起,我用错误的方式使用谷歌计算器BTW谢谢你@Liran Elisha和@ FSou1

.net c# datetime c#-4.0

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

使用按位运算交换两个变量而不使用c中的第三个变量

我可以做第三个变量

c=a|b;
a=c&a;
b=c&a;
Run Code Online (Sandbox Code Playgroud)

但我需要在没有第三个变量的情况下这样做.我试过使用XOR它也没有帮助我.

c c# java

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

为什么以下程序会进行无限循环?

当我执行这个belo程序时,它正在5无意中打印.为什么?是因为减量没有发生还是在减量发生之前函数调用正在发生?

我尝试了替代方式制作fun(--n),它给了我正确的答案.但为什么它不起作用fun(n--)

void fun(int n)
{
    if(!n)
    {
        cout << n << " " << endl;
    }
    else
    {
        cout << n << " "<<endl;
        fun(n--);
    }
}

int main()
{
    int n = 5;
    fun(n);
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ recursion decrement

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

有没有一种简单的方法可以从TimeSpan中检索开始时间戳

TimeSpan私人领域startTimeStampDateTime.Ticks财产之间有什么区别?是否有一种简单的方法来检索startTimeStamp(不使用反射)?

在此输入图像描述

.net c# datetime timespan

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

在c中操作字符数组作为字符串

我已经读过将字符串存储在字符数组中(使用null终止)允许稍后操作字符串(与指向字符串文字的指针不同).

#include <stdio.h>
int main()
{
   char s[10]="Stack";
   s[9]='a'; // a gets stored in array and if index is less than 6 string gets changed
   printf("%s\n",s);    
   return 0; 
}
Run Code Online (Sandbox Code Playgroud)

输出:堆叠

只要要操作的索引小于字符串的长度,这就可以工作.

这意味着即使有空的空间也不能改变字符串内容(因此大小)?

有没有直接的方法(不使用函数)在所需的位置添加'a'?

c c++ arrays string

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

C:内存中的循环,条件,结构

这个问题可能听起来微不足道但是,我知道每当一个函数开始执行时,堆栈中就会为函数的所有局部变量等创建堆栈帧,但是我无法理解当for循环开始执行或者内部的代码时会发生什么.如果条件开始执行.将它们视为在函数的堆栈框架内执行似乎是不合理的,因为它们有自己的范围,因此它们有自己的局部变量.但是,它们可以访问它们上面的函数的变量,因此这似乎意味着它们位于函数的堆栈框架内.

所以有人可以为我清楚这一点吗?

它们在被执行时实际位于内存中的哪个位置?

同样的问题出现在结构上,它们有自己的范围,它们不是指针,而只是更大的"盒子",包含整数,字符*等.

c memory struct loops conditional-statements

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

替换字符串中的值

我有以下代码,需要将时间值从PT14H01M00S替换14:01:00 ,下面的代码省略了前两个char,但是我得到了14H01M00S,没有使用字符串生成器就没有办法做到这一点?

String time = "PT14H01M00S";
String substring = time .substring(2);
substring.replace("H", ":");
substring.replace("M", ":");
substring.replace("S", "");

System.out.println(substring);
Run Code Online (Sandbox Code Playgroud)

java string

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

读取xml文件并提取一些整数值

我有xml文件,内容如下

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<REPLY>
  <DATA BYTE='116' />
  <DATA BYTE='88' />
  <DATA BYTE='15' />
  <DATA BYTE='0' />
from this
  <DATA BYTE='44' />  
  <DATA BYTE='1' />
  <DATA BYTE='0' />
  <DATA BYTE='0' />
to this
  <DATA BYTE='0' />
  <DATA BYTE='0' />
.....
  <DATA BYTE='255' />
  <DATA BYTE='255' />
  <DATA BYTE='255' />
  <DATA BYTE='0' />
</REPLY>
Run Code Online (Sandbox Code Playgroud)

我想读此4线到这一点,其实我想提取值44,1,0,0从这些4行.值是动态的,文档结构不会改变(至少在前15行).

做这个的最好方式是什么?

.net c# xml

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

该方法必须返回一个double,但我收到一个错误

public double accessor(int n)
{
    switch(n)
    {
    case 0:
        return this.a;
        break;
    case 1:
        return this.b;
        break;
    case 2:
        return this.c;
        break;
    case 3:
        return this.d;
        break;
    case 4:
        return this.e;
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

a,b,c,d,e都是double类型,但它告诉我break语句是不可达的,我必须返回一个double类型.我是java新手,如果这听起来很愚蠢,请原谅

java

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