小编Alb*_*nbo的帖子

从Action <T>获取参数

如何将参数传递给Action<T>?代码示例应该突出我想要实现的目标.对不起,这有点长.

class Program
{
    static void Main(string[] args)
    {
        Foo foo = new Foo();
        foo.GetParams(x => x.Bar(7, "hello"));
    }
}

class Foo
{
    public void Bar(int val, string thing) { }
}

static class Ex
{
    public static object[] GetParams<T>(this T obj, Action<T> action)
    {
        // Return new object[]{7, "hello"}
    }
}
Run Code Online (Sandbox Code Playgroud)

看起来有用的唯一选项是GetInvocationList(),Method和Target.但它们似乎都没有包含我所追求的数据(我认为这是因为我宣布了Action的方式).谢谢

编辑:这不是我想要的类型,它是实际值 - 如注释的代码中所述.

c# reflection action

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

如何在没有时间的情况下保存日期时间?

无论时间是什么时候,我如何保存日期时间,没有时间或最好带有12:00的时间戳?

我不想使用.ToString("dd/MM/yyyy");,因为它会打开很多新的可能错误.

c# datetime

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

.net Micro for ARM M3 STM32F103ZD

我是新手,但我想为微控制器ARM M3 STM32F103ZD开发C#.net Micro应用程序.

我找到了开发套件STM32F103ZE ARM-CM3 Board,链接http://www.embedinfo.com/en/list.asp?id=31

任何人都可以告诉我,如果有可能在这个套件上开发C#.net Micro应用程序.

谢谢

.net c# .net-micro-framework

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

元组中的元素数量<...>

只是想知道是否有一种简单的方法来了解Tuple类中包含多少元素

例如.

 var a = new Tuple<int,int>(1,2);
Run Code Online (Sandbox Code Playgroud)

但有多少元素?也许我们不关心我们是否尝试使用as关键字进行投射

 var a1 = a as Tuple<int>
 if(a1!=null)

 var a2 = a as Tuple<int,int>
 if(a2!=null)
Run Code Online (Sandbox Code Playgroud)

稍等反馈后.有很多人使用元组吗?

.net c# generics

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

在C#.net中正则表达式

我需要一个功能来验证输入的日期.输入日期是否格式正确.我浏览了网页并得到了正则表达式.它的工作正常,除非你输入12/12/YYYY(在任何一年)它显示错误,说它不是一个有效的日期.

bool IsDate(string date)  
        {
            Match dobMatch = Regex.Match(date, @"^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$");
            if (!dobMatch.Success)
            {return true;}
            else
            {return false;}
        }
Run Code Online (Sandbox Code Playgroud)

一世

c# regex

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

String Manipulation.Find 2个索引之间的字符串

给定一个字符串,例如500个字符,我想在索引400和索引430之间选择一个字符串.你如何编写这样的函数?

谢谢

.net c#

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

当你不知道C#中的大小时,如何初始化1维数组?

我一直在努力尝试初始化一维数组而不知道它的大小,但是没有得到它; 请告诉我如何根据C#中的要求声明一个大小会动态增加的数组.

我的意思是,想要做这样的事情

class A
{
    int[] myarray;
    int i=0;
    while(i<5)
    {
        myarray[i]==n;
        n=n%10;
        i++;
    }
}
Run Code Online (Sandbox Code Playgroud)

请帮忙 !!!

c#

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

LINQ许多与In或包含条款(和扭曲)

我有一个叫做PropertyPets的多对多表结构.它包含一个双主键,包括PropertyID(来自Property表)和一个或多个PetID(来自Pet表).

接下来我有一个搜索屏幕,人们可以从jquery多选下拉列表中选择多个宠物.让我们说有人选择狗和猫.

现在,我希望能够在多对多的表PropertyPets中返回包含BOTH狗和猫的所有属性.我正在尝试使用Linq to Sql.

我查看了Contains子句,但它似乎不符合我的要求:

var result = properties.Where(p => search.PetType.Contains(p.PropertyPets));
Run Code Online (Sandbox Code Playgroud)

这里,search.PetType是Dog和Cat的Id的int []数组(在多选择下拉列表中选择).问题首先,Contains需要一个字符串而不是PropertyPet类型的IEnumerable.其次,我需要找到同时拥有狗和猫的属性,而不仅仅是包含其中一个或另一个.

谢谢你的任何指示.

c# linq linq-to-sql

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

在16位处理器上提高32位数学性能

我正在为嵌入式设备开发一些固件,该设备使用16位PIC,工作速率为40 MIPS,并以C编程.系统将控制两个步进电机的位置,并始终保持每个电机的步进位置.每个电机的最大位置约为125000步,因此我不能使用16位整数来跟踪位置.我必须使用32位无符号整数(DWORD).电机以每秒1000步的速度移动,我设计了固件,以便在定时器ISR中处理步骤.计时器ISR执行以下操作:

1)将一个电机的当前位置与目标位置进行比较,如果它们是相同的设置,则isMoving标志为false并返回.如果它们不同,则将isMoving标志设置为true.

2)如果目标位置大于当前位置,向前移动一步,然后增加当前位置.

3)如果目标位置小于当前位置,向后移动一步,然后减小当前位置.

这是代码:

void _ISR _NOPSV _T4Interrupt(void)
{
    static char StepperIndex1 = 'A';    

    if(Device1.statusStr.CurrentPosition == Device1.statusStr.TargetPosition)
    {
        Device1.statusStr.IsMoving = 0;
        // Do Nothing
    }   
    else if (Device1.statusStr.CurrentPosition > Device1.statusStr.TargetPosition)
    {
        switch (StepperIndex1)      // MOVE OUT
        {
            case 'A':
                SetMotor1PosB();
                StepperIndex1 = 'B';
                break;
            case 'B':
                SetMotor1PosC();
                StepperIndex1 = 'C';
                break;
            case 'C':
                SetMotor1PosD();
                StepperIndex1 = 'D';
                break;
            case 'D':
                default:
                SetMotor1PosA();
                StepperIndex1 = 'A';
                break;      
        }
        Device1.statusStr.CurrentPosition--;    
        Device1.statusStr.IsMoving = 1;
    }   
    else
    {
        switch (StepperIndex1)      // MOVE …
Run Code Online (Sandbox Code Playgroud)

c performance 32-bit pic 16-bit

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

Linq查询处理空值

From r In ReceiptLines
Where 
r.RECEIPT.RECEIPTDATE >= _reportStartDate 
And r.RECEIPT.RECEIPTDATE <= _reportEndDate
Let amount = r.QUANTITY * r.PRICE
Let discount = r.RECEIPTDISCOUNTs.Sum(Function(d) d.DISCOUNT) 
where discount > 0
Group By Department = r.ITEMSTYLE.ITEM.CATEGORY.DEPARTMENT.DEPARTMENTNAME
Into Sales = Sum(amount - discount), 
Average = Average(amount - discount), 
Count = Count()
Run Code Online (Sandbox Code Playgroud)

我从ReceiptLine,Receipt,ReceiptDiscount表中获取所有部门及其销售额,平均数.我面临的问题是,如果我删除折扣> 0,我得到null异常.但如果我把它包括在内,那么我只能得到有折扣的销售.我如何编写使所有销售额减少折扣的查询(如果有的话).任何帮助都非常感谢.

linq vb.net entity-framework

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