小编Mik*_*Two的帖子

DDD存储库

在创建存储库类时,例如.CustomerRepository,我的方法应该是静态的吗?

或者我应该首先实例化CustomerRepository类,然后调用实例上的公共方法?

哪种方法最好,为什么?

谢谢

c# domain-driven-design repository-pattern

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

用于从字符串转换为字节的内置函数

我有以下功能:

public static byte[] StringToByte(string str)
{
    int length = str.Length;
    byte[] ba = new byte[length];
    for (int i = 0; i < length; i++)
    {           
        ba[i] = (byte)str[i];
    }
    return ba;
}
Run Code Online (Sandbox Code Playgroud)

我想知道这个方法是否有内置函数?

c#

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

关于比较List <T>的问题

我有两个清单:

List<comparerobj> list_c = new List<comparerobj>();
List<comparerobj> list_b = new List<comparerobj>();
Run Code Online (Sandbox Code Playgroud)

我正以某种方式填写清单

然后我试图在list_b中找到list_c不包含的元素:

foreach (comparerobj b in list_b)
{
    bool lc = !list_c.Contains(b);
    if (lc != true)
    {
        data.Add(b);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是对于任何b我都得到那个lc = true.我究竟做错了什么?

.net c#

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

如何编写一个LINQ查询结合group by和aggregate?

给定以下输入,如何编写LINQ查询或表达式以返回数量的聚合结果集?

输入:

var foo = new[] { new { PO = "1", Line = 2, QTY = 0.5000 }, 
                  new { PO = "1", Line = 2, QTY = 0.2500 }, 
                  new { PO = "1", Line = 2, QTY = 0.1000 }, 
                  new { PO = "1", Line = 2, QTY = -0.1000 } 
                }.ToList();
Run Code Online (Sandbox Code Playgroud)

期望的结果:

有点像

new { PO = "1", Line = 2, QTY = 0.7500 } // .5 + .25 + .1 + -.1
Run Code Online (Sandbox Code Playgroud)

我如何为多行编写它(参见foo中的对象模型)?

.net c# linq

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

AOP 与元编程

AOP 和元编程之间有什么区别吗?我们能否说元编程技术(IL 编织、动态子类化等)是实现 AOP 的机制,它更多地是将横切关注点与关注实际业务需求的主要应用程序代码分离?

c# aop metaprogramming

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

帮助将foreach循环转换为c#中的while循环

我在这里通过阅读你的好答案来学习,从foreach循环中删除项目并不是一个好习惯,因为它是(并且我引用)"锯掉你所坐的分支".

我的代码当前从下拉列表中删除了文本,但实际项目仍然存在(仅显示文本).

换句话说,它不是删除,也可能是因为你无法从foreach循环中删除.

经过几个小时的尝试,我无法理解这种做法.

//For each checked box, run the delete code
for (int i = 0; i < this.organizeFav.CheckedItems.Count; i++)
{
    //this is the foreach loop
    foreach (ToolStripItem mItem in favoritesToolStripMenuItem.DropDownItems)
    {
        //This rules out seperators
        if (mItem is ToolStripMenuItem)
        {
            ToolStripMenuItem menuItem = mItem as ToolStripMenuItem;

            //This matches the dropdownitems text to the CheckedItems String
            if (((ToolStripMenuItem)mItem).Text.ToString() == organizeFav.CheckedItems[i].ToString())
            {
                //And deletes the item
                menuItem.DropDownItems.Remove(mItem);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但它并没有删除,因为它在foreach循环中!我非常感谢您的帮助,如果有人能够了解这些代码,我会感到非常惊讶:)

亲切的问候

c# foreach

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

需要帮助c#编码

这是我的班级结构

public class Customer
{
     List<Address> add = null;
     public Customer()
     {
         add = new List<Address>();
     }

    public int EmpID { get; set; }
    public string Name { get; set; }

    public List<Address> Address
    {
        get { return add; }
        set { add = value; }
    }
    public double Salary { get; set; }
}

public class Address
{
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string PostCode { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c#

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

查找扩展方法

而不是创建一个全新的类实现ILookup<T>是否可以添加扩展方法到字典,以满足它?我正在考虑以下问题:

public static void LookupAdd(this Dictionary<T, List<V>> dict, T key, V item)
{
    if (!dict.ContainsKey(key))
    {
        dict.Add(key, new List<T>());
    }
    dict[key].Add(item);
}
Run Code Online (Sandbox Code Playgroud)

这无法编译说它无法识别类型.我猜我的通用参数太复杂了(特别是List<V>)

c# generics extension-methods

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

String.Contains int?

我想知道如何编写这部分代码..

我想说,如果我的文件夹的名称包含R +,无论int(R1,R52等),我都会采取行动.

这是我尝试使用的:

 if(f.Name.Contains("R" + int))
 {

 }
Run Code Online (Sandbox Code Playgroud)

c# asp.net string int

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

静态类C#构造函数OOP

我是OOP的新手,我想我不懂静态类.

我想创建一个静态类Actions和一个用于更改textblock外观的静态方法.

这是我的代码:

public static class Tools
{
    public enum StatusOption
    {
        Online,
        Offline,
        Warning
    }
}

public class Actions
{
    private SortedDictionary<Tools.StatusOption,SolidColorBrush> StatusColors = new SortedDictionary<Tools.StatusOption,SolidColorBrush>();

    public Actions()
    {
        StatusColors.Add(Tools.StatusOption.Online, new SolidColorBrush(Colors.Green));
        StatusColors.Add(Tools.StatusOption.Offline, new SolidColorBrush(Colors.Red));
        StatusColors.Add(Tools.StatusOption.Warning, new SolidColorBrush(Colors.Orange));
    }

    public void SetStatus(Tools.StatusOption _statusOption, TextBlock _txtBlock)
    {
        _txtBlock.Text = _statusOption.ToString();
        _txtBlock.Foreground = StatusColors[_statusOption];
    }
}
Run Code Online (Sandbox Code Playgroud)

它工作,但我必须创建我的类的几个实例,这是恕我直言没用.

private void Close_Click(object sender, RoutedEventArgs e)
{
     Actions a1 = new Actions();
     a1.SetStatus(Tools.StatusOption.Offline, StatusTextBlock);
}

private void Open_Click(object sender, RoutedEventArgs e)
{
     Actions a2 …
Run Code Online (Sandbox Code Playgroud)

c# oop constructor static-class

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

c#list覆盖问题

我有一些代码如下所示,它将a的值写入gridview列表,如图所示.代码确实获得了正确的值,但是当网格的第二行添加到列表时,它会覆盖列表的第一行.
谁知道为什么会这样?

C#代码

 List<Item> lstNewItems = new List<Item>(); // Control Items  
 lstNewItems.Clear();
 Item NewItem = new Item();
 foreach (GridViewRow PendingItemUnderControl in GridViewPendingList.Rows)
 {
    NewItem.Paramater = PendingItemUnderControl.Cells[0].Text.ToLower();
    NewItem.Type = (String)Session["BrowseType"];
    lstNewItems.Add(NewItem);
 }
Run Code Online (Sandbox Code Playgroud)

c# gridview list

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