小编dca*_*tro的帖子

如何从较长的字符串中解析出这个字符串?

我有一个字符串进来

 FirstName LastLast (WorkerId)
Run Code Online (Sandbox Code Playgroud)

例如:

"Joe Thompson (234DerX)"
Run Code Online (Sandbox Code Playgroud)

我想把它解析成这个人物

 class Person
 {
      public string Name;  //Joe Thompson
      public string WorkerId;  //234DerX
 }
Run Code Online (Sandbox Code Playgroud)

解析worker Id和Name的最佳方法是什么.正则表达式?更简单的事情.有些名称有middles名称或多个名字所以我唯一可以依赖的是worker ID被"("+")"包围

c# regex string

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

用参数模拟一个方法

我在嘲笑我的控制器方法,我的控制器看起来像这样

我的控制器:

public class PController : BaseController
{
    readonly IRFacade _repository;

    public PController()
    {
        _repository =  new RiFacade();
    }

    [CLSCompliant(false)]
    public PController(IRFacade repositories)
    {
        if (repositories == null) throw new ArgumentNullException("repositories");
        _repository = repositories;
    }

    public aMethod(String Id){
        int[] arraynum = convert id to int[]
        int numberthis = _repository.ActionFunction(arraynum);
        ..return stuff

    }
Run Code Online (Sandbox Code Playgroud)

IRFacade我创建的界面看起来像这样

public interface IRFacade 
{        
    int ActionFunction(int[] arrayOfNum);
}
Run Code Online (Sandbox Code Playgroud)

当我测试aMethod并且我必须模拟时,_repository我就像这样设置

var MockFacade = new Mock<IRFacade>();
// here fakeinput is a int[] varaible and …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing moq mocking

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

OrderBy使用LINQ在列表的开头和结尾之间交替

假设我有一个清单{1,3,5,7,9,11}

我想使用像这样的代码浏览列表

foreach (int myInt in myIntList.OrderBy(...))
{
    /// Do stuff
}
Run Code Online (Sandbox Code Playgroud)

但是这里的顺序是1然后是11然后是3然后是9然后是5然后7.如何按顺序执行此操作?

我的实际情况稍微复杂一点,for循环看起来像这样:

foreach (Tuple<string, int, int, int> im in iconMappings.OrderBy(i => i.Item4).ThenByDescending(i => i.Item3))
{
    // Do stuff
}
Run Code Online (Sandbox Code Playgroud)

因此,如上所述对它们进行排序我需要获得交替元素,因此理想情况下应该可以应用于此.

c# linq

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

处理完一个物体后会发生什么?

我有Label我的Form.当我调用Dispose()方法时,对象从中移除Form.但我仍然可以设置它的属性.在Dispose()为对象调用Method 之后会发生什么.我可以恢复它并再次显示它吗?

public void MyMethod()
{
     label1.Dispose();
     label1.Text = "Test";
     //No error happens
}
Run Code Online (Sandbox Code Playgroud)

在处理之后我可以读取一些属性,如Left属性.这意味着标签仍然存在于某个地方.我怎么能完全删除它?

c# dispose

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

这是Liskov替换原则违规吗?

我的自定义按钮实际上是一个按钮,它是否违反了LSP?

class ConditionalButton : Button
{
    protected override void OnClick(EventArgs e)
    {
        if (Condition())
            base.OnClick(e);
    }
    private bool Condition()
    {
        //return true or false
    }
}
Run Code Online (Sandbox Code Playgroud)

c# oop solid-principles

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

C#中检测到"无法访问的代码"错误消息

我正在尝试用C#编写程序来查明数字是否为素数.我使用前两个if语句来挑出许多选项,然后我试图在最后的else语句中嵌套一个循环,它告诉我有"检测到无法访问的代码".

public static bool primeNumber ()
    {
        Console.Write ("Please enter a number to see if it is a prime number: ");
        int num = int.Parse (Console.ReadLine ());
        if (num % 2 == 0)
            return false;
        else if (num % 5 == 0)
            return false;
        else {
            for (int i = 3; i < num / 2; i += 2)
            {
                if (num % i == 0)
                    return false;
                else 
                    return true;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# if-statement unreachable-code

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

运营商"|" 不能应用于'string'和'string'类型的操作数

大家好,所以我有问题,它在标题上(运算符"|"不能应用于类型的操作数stringstring)

这是我正在运行的代码

if ( (tb_id.Text="") | (tbnome.Text = "") | (tbpreco.Text = "") | (tbquant.Text = "") )
{
        MessageBox.Show("Erro, Voce não inseriu algo"); 
}
Run Code Online (Sandbox Code Playgroud)

我真的不知道它为什么会发生,我已经搜索了stackoverflow和其他网站和论坛,但仍然看不到错误.

c#

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

如何检查ArrayList中是否有任何内容

所以我想检查if语句中数组列表中是否存在任何内容.而不是

MyArrayList.Contains("blah"); 
Run Code Online (Sandbox Code Playgroud)

我想要一些检查是否有任何内容的东西.

编辑!:发现了!感谢您的帮助!答案:MyArrayList.isEmpty(){}

谢谢!

java

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