小编Arg*_*a C的帖子

c#中用于检查有效属性名称的正则表达式

我需要验证要检索的属性名称的用户输入。

例如,用户可以为 Windows 窗体控件对象键入“Parent.Container”属性或仅键入“Name”属性。然后我使用反射来获取属性的值。

我需要的是检查用户是否输入了 c# 属性的合法符号(或者只是像 \w 这样的合法单词符号),并且这个属性是否可以复合(包含两个或多个用点分隔的单词)。

我现在有这个,这是一个正确的解决方案吗?

^([\w]+\.)+[\w]+$|([\w]+)
Run Code Online (Sandbox Code Playgroud)

我使用了Regex.IsMatch方法,true当我通过"?someproperty"时它返回,尽管 "\w" 不包括 "?"

c# regex

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

使用常规javascript检测Jquery,如果不存在则动态加载它

我需要代码使用常规javascript来检测JQuery是否存在,如果没有,从谷歌或其他网站加载JQuery文件

更新两个工作解决方案(只需在此复制和粘贴工作代码):

来自Claudio Redi

window.jQuery || document.write("<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'>\x3C/script>")
Run Code Online (Sandbox Code Playgroud)

来自Rob Darwin

var jQueryScriptOutputted = false;
function initJQuery() {
    if (typeof(jQuery) == 'undefined') {
        if (! jQueryScriptOutputted) {
            jQueryScriptOutputted = true;
            document.write("<scr" + "ipt type=\"text/javascript\" src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js\"></scr" + "ipt>");
        }
        setTimeout("initJQuery()", 50);
    }
}
initJQuery();
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

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

按多个字段对集合进行排序

我需要对一个集合进行排序.例如,我有

Austin 12/3/2012   
Sam 100 12/3/2012   
Sam 200 14/3/2012   
Bubly 300 12/3/2012   
Bubly 300 15/3/2012  
ram 100 13/3/2012 
Run Code Online (Sandbox Code Playgroud)

现在,如果排序顺序是Name,则datetime然后输出

Austin 12/3/2012    
Bubly 12/3/2012   
Bubly 15/3/2012   
ram 13/3/2012    
sam 12/3/2012    
sam 14/3/2012  
Run Code Online (Sandbox Code Playgroud)

如果他的排序顺序是Datetime,那么它应该是

12/3/2012 austin
12/3/2012 bubly
12/3/2012 sam
13/3/2012 ram
14/3/2012 sam
15/3/2012 bubly 
Run Code Online (Sandbox Code Playgroud)

因此对于其他项目.我该怎么做呢 ?如何使用列的顺序进行排序.

.net c# linq sorting

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

如何删除json字符串中的反斜杠和双引号

我试图将字符串传递给json对象,它的工作原理.然而,在json中有一些反斜杠和双引号!我该如何删除它们?

我正在使用c#Web API.这是我的代码.

public string jsonvalues()
{
    var x = new
    {  
      status = "Success"
    };
    var javaScriptSerializer = new
    System.Web.Script.Serialization.JavaScriptSerializer();
    var jsonString = javaScriptSerializer.Serialize(x);
    return jsonString;
}  
Run Code Online (Sandbox Code Playgroud)

当我在控制器中返回此函数时,我得到这样的结果

"{\" 状态\ ":\" 成功\ "}"

c# serialization json asp.net-web-api

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

LINQ根据属性值过滤列表并过滤属性

NavigationItem有导航属性NavigationItemsPermissions,我有RoleId。作为函数中的输入参数,我List<int> roleIds将拥有类似 {1, 3} 的内容。

我如何完成我的工作并把输入列表中的一些内容LINQ还给我。另外请注意,我只想要输入列表中包含的内容。NavigationItemNavigationItemsPermissions RoleIdNavigationItemsPermissionsRoleId

这就是我被困的地方

public List<NavigationItem> GetNavigationItems(MenuType menuType, List<int> roleIds)
{
    var navigationItems = DbContext.NavigationItems.Where(x => x.MenuTypeId == (int) menuType && !x.IsDeleted && x.NavigationItemsPermissions.Any(r=>r.RoleId **in roleIds**)));       

    return navigationItems;
}
Run Code Online (Sandbox Code Playgroud)

举个更简单的比喻(不是真实数据),如果有一个开发者列表

developers: [
    { name: "Hickory", skills: ["c#", "js", "linq"] }
    { name: "Dickory", skills: ["html", "css", "js"] }
    { name: "Dock", skills: ["html", "c#", "oracle"] }
]
Run Code Online (Sandbox Code Playgroud)

以及给定的技能列表list …

c# linq asp.net-mvc ef-database-first

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

C#Join两个数组的字符串

我有两个string array小号

array1 = { "test", "test", "test" }
array2 = { "completed", "completed", "completed" }
Run Code Online (Sandbox Code Playgroud)

我想加入两个数组中的字符串(它们总是大小相同) - >所以我想要一个包含一个数组的数组

array = { "test completed", "test completed", "test completed" }
Run Code Online (Sandbox Code Playgroud)

我找到的所有东西都只加入数组,所以我有6个数组.是否可以在不循环整个数组的情况下执行此操作(即使用LINQ或类似的东西)?

c# linq arrays join

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

从对象数组中删除重复项

我有一个叫Customer有几个字符串属性的类

firstName, lastName, email, etc.  
Run Code Online (Sandbox Code Playgroud)

我从一个csv创建该类数组的文件中读取客户信息:

Customer[] customers  
Run Code Online (Sandbox Code Playgroud)

我需要删除具有相同电子邮件地址的重复客户,每个特定电子邮件地址只留下1个客户记录.

我使用2个循环完成了这项工作,但由于通常有50,000多个客户记录,因此需要将近5分钟.完成删除重复项后,我需要将客户信息写入另一个csv文件(此处无需帮助).

如果我Distinct在循环中执行了一个循环,那么如何删除作为该特定客户的类的一部分的其他字符串变量?

谢谢,安德鲁

c# arrays class duplicates

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

如何在不显式命名属性的情况下打印对象的所有属性值

如何迭代List<Galaxy>并打印出每个属性的值,而无需显式编写属性名称?

例如,我使用此代码写入所有属性的属性值galaxy

private static void IterateThroughList()
{
    var theGalaxies = new List<Galaxy>
    {
        new Galaxy() { Name = "Tadpole", MegaLightYears = 400},
        new Galaxy() { Name = "Pinwheel", MegaLightYears = 25}
    };

    foreach (Galaxy theGalaxy in theGalaxies) 
    {
        // this part is of concern
        Console.WriteLine(theGalaxy.Name + "  " + theGalaxy.MegaLightYears);
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图避免这一行中的显式属性名称

Console.WriteLine(theGalaxy.Name + "  " + theGalaxy.MegaLightYears);
Run Code Online (Sandbox Code Playgroud)

这样,如果我的Galaxy类具有比 和 更多的属性NameMegaLightYears它也会自动打印它们。

.net c#

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

Automapper-两种特定类型之间的有效映射和检查映射

在我的应用程序中,我需要在不同的对象对之间进行许多映射(域对象,DTO,ViewModels等)。我AutoMapper为此大量使用。

因此,我有一个通用的Mapper类,该类具有映射不同对象的方法。作为映射在应用程序中坚持,我尽我CreateMap()static constructor,这样的映射创建只有一次,是由我可能会使用他们的时间准备。这个班级看起来像这样

public class SomeMapper
{
    static SomeMapper()
    {
        Mapper.CreateMap<SomeType1, SomeOtherType1>();
        Mapper.CreateMap<SomeType2, SomeOtherType2>();
        Mapper.CreateMap<SomeType3, SomeOtherType3>();
        //...
    }

    public SomeOtherType1 MapSomeHierarchy1(SomeType1 source) 
    { //... }

    public SomeOtherType2 MapSomeHierarchy2(SomeType2 source)
    { //... }
}
Run Code Online (Sandbox Code Playgroud)

问题1:什么是创建映射的更好方法?(以任何方式更好-性能,语义,标准惯例等)

问题2:此代码也用于Console应用程序中。在特定的运行中,它不需要所有映射。因此,与其急切地创建所有映射,不可以在运行时创建映射(如果尚不存在)?就像是

public SomeOtherTypeN MapSomeHierarchyN(SomeTypeN source)
{
    if (!AlreadyMapped(SomeTypeN, SomeOtherTypeN))
        Mapper.CreateMap<SomeTypeN, SomeOtherTypeN>();
    return Mapper.Map<SomeOtherTypeN>(source);
}
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法来实现该方法AlreadyMapped()

c# automapper automapper-3

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

在 DataTable.Select() 中将字符串值与 double 进行比较

我的数据表工资列是string列,用户以字符串格式给出输入值,例如userInput="1000". 但工资列中存储的数据如下图所示。如何将用户输入与数据表中存储的数据进行比较?

在此输入图像描述

我当前的代码是

DataRows[] rows = dt.Select("Salary='"+userInput+"'");
Run Code Online (Sandbox Code Playgroud)

c# sql datatable ado.net

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