小编Dmi*_*try的帖子

使用ReSharper查找文本

Resharper是一个很棒的工具,我似乎唯一缺少的是一个简单的文本搜索选项.在线搜索我遇到了一些选项(模式搜索,关键词搜索),我发现的选项都不是简单/快速搜索.

我正在寻找类似于"去一切"的东西[Ctrl + t或Ctrl + n] 在此输入图像描述

仅适用于文本,因为上面不会显示部分文字.

示例用例来澄清需求 - 编码时我记得基于代码中字符串部分的代码中的位置,例如我想搜索字符串"健全性检查"我想要一个像上面那样的列表给我最好的结果,制作更接近的匹配在列表中更高.

谢谢.

c# resharper search

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

带小数分隔符的数字错误地转换为Double

在使用文化信息时,将数字转换为double时,我遇到了奇怪的行为.使用荷兰文化进行
转换时"3,3",处理正确.如果我"3,3"使用美国文化转换,它会返回33.我期待一个错误.看我的例子:

static void Main(string[] args)
{
    CultureInfo cultureDutch = new CultureInfo("nl-NL");
    CultureInfo cultureUS = new CultureInfo("en-US");

    System.Threading.Thread.CurrentThread.CurrentCulture = cultureDutch;
    Console.WriteLine("Input 3,3 --> Expected 3,3");
    Console.WriteLine("Output = " + Convert.ToDouble("3,3", cultureDutch));
    // Actual result --> 3,3

    Console.WriteLine("Input 3,3 --> Expected InvalidCastException");
    Console.WriteLine("Output = " + Convert.ToDouble("3,3", cultureUS));
    // Actual result --> 33

    Console.WriteLine();
    Console.WriteLine();

    System.Threading.Thread.CurrentThread.CurrentCulture = cultureUS;
    Console.WriteLine("Input 3.3 --> Expected InvalidCastException");
    Console.WriteLine("Output = " + Convert.ToDouble("3.3", cultureDutch));
    // Actual result --> 33

    Console.WriteLine("Input …
Run Code Online (Sandbox Code Playgroud)

c# cultureinfo

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

如何获得SecondOrDefault?

我有一个简单的linq lambda语句

Interactions = new BindableCollection<InteractionDTO>(ctx.Interactions.Where(x => x.ActivityDate > DateTime.Today)
   .Select(x => new InteractionDTO
   {
       Id = x.Id,
       ActivityDate = x.ActivityDate,
       subject = x.Subject,
       ClientNames = x.Attendees.Count == 1 ? x.Attendees.FirstOrDefault().Person.CorrespondenceName :
       x.Attendees.FirstOrDefault().Person.CorrespondenceName : "Multiple attendees"
    }));
Run Code Online (Sandbox Code Playgroud)

这将给我第一个客户名称,我试图让它出现前2名与会者后跟点.我试过这个

ClientNames = x.Attendees.Count == 1 ? 
             x.Attendees.FirstOrDefault().Person.CorrespondenceName :
             x.Attendees.FirstOrDefault().Person.CorrespondenceName +
             x.Attendees.Skip(1).FirstOrDefault().Person.CorrespondenceName + " ..."
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

只有LINQ to Entities中的排序输入才支持'Skip'方法.必须在方法'Skip'之前调用'OrderBy'方法.

c# linq linq-to-entities

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

使用LoadFromCollection和匿名类型的epplus

我有一个IEnumerable<object>数据源,其中包含一个集合匿名类型。匿名类型的实际结构在设计时不会被知道,因此我试图找到一个可以处理任何匿名类型的通用解决方案。

如何将它们加载到epplus中以创建电子表格?我有一个名为ws的工作表,我尝试过:

ws.Cells["A1"].LoadFromCollection(dataSource, true);
Run Code Online (Sandbox Code Playgroud)

但是,当运行该命令时,它将所有匿名类型的属性输出到单个单元格中:

{ Id = 10000, Title = This is a test }
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下方法传递MemberInfo:

var members = dataSource.First().GetType().GetMembers();
ws.Cells["A1"].LoadFromCollection(this._dataSource, true,
    TableStyles.Medium1, BindingFlags.Public, members);
Run Code Online (Sandbox Code Playgroud)

但这引发了一个异常:

参数Properties中提供的属性必须与T具有相同的类型

关于如何在c#中使用匿名类型创建电子表格的任何建议?

c# epplus

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

找不到System.Windows.Point

我正在使用UIAutomation该方法

System.Windows.Automation.AutomationElement.FromPoint(System.Windows.Point)
Run Code Online (Sandbox Code Playgroud)

通过鼠标光标获取元素,但我找不到类型System.Windows.Point.我查了一下对象库,但它仍然是看不见的.

我正在使用.Net Framework 4.5.

c# windows point ui-automation winforms

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

Linq Query Where()SQL%等效

我们可以.Contains(string)在LINQ表达式中使用该方法,听起来像'%search text%',方法.StartsWith(string),听起来像'搜索文本%',方法.EndsWith(string),听起来像'%search text'.

但是我需要一些听起来像'%search%text%'的内容,它会找到包含'search'和'text'的所有内容,但不是顺序的.

示例:我有这些记录:

搜索我的文字

搜索文本

寻求文本

在SQL中,查询LIKE '%search%text%'带来:

搜索我的文字

搜索文本

但不会带来'seek the text'.

有任何想法吗?

c# sql linq

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

DateTime.TryParse到其他文化信息

我目前有一个时间报告项目,您输入日期并报告该日期的时间,(显示所有日期并以瑞典格式发送回后端等yy-mm-dd)但是如果我在我的计算机上有其他文化信息,dd-mm-yyyy就会解析错误的日期,它将无法正常工作.

这是我的代码

DateTime reportDate;
if (!DateTime.TryParse(result, out reportDate))
{
    ModelState.AddModelError("Date", "Felaktikt datum");
}
Run Code Online (Sandbox Code Playgroud)

这将采取我的yy-mm-dd解析,dd-mm-yyyy因为这是我的电脑设置.

c# date

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

变量不持有价值

我正在编写一本帮助我学习C#的书,其中一个项目就像是在小学电脑课程中教授的旧游戏之一.此特定示例使用for循环定义房间或区域有多少出口(外门).

这是通过外门移动的一个例子.当我回到门口时,使用"MoveToANewLocation()"方法,"currentLocation"失去了它的价值.for循环随后将值设置为负值,从而导致错误.

private void MoveToANewLocation(Location newLocation)
    {
        currentLocation = newLocation;

        exits.Items.Clear();
        for (int i = 0; i < currentLocation.Exits.Length; i++)
        {
            exits.Items.Add(currentLocation.Exits[i].Name);
        }

        exits.SelectedIndex = 0;

        description.Text = currentLocation.Description;

        if (currentLocation is IHasExteriorDoor)
        {
            goThroughTheDoor.Visible = true;
        }
        else
        {
            goThroughTheDoor.Visible = false;
        }

    }
Run Code Online (Sandbox Code Playgroud)

我有一个与上面完全相同的参考示例,它有效.当按钮"goThroughTheDoor"调用"MoveToANewLocation()"方法时,我很难理解为什么currentLocation会丢失它的值.

抱歉,如果不清楚,我仍然是现代编程的新手

c# null for-loop

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

从XmlNode中删除子节点

XPath用来选择一个报告节点.现在我想知道的是如何在不知道哪个节点的子节点的情况下从文档中删除该节点?

我试过调用.RemoveChild它会抛出这个错误:

要删除的节点不是此节点的子节点.

这是我删除节点的代码:

var node = doc.SelectSingleNode("//report");
doc.RemoveChild(node);
Run Code Online (Sandbox Code Playgroud)

c# xmldocument

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

列出2个参数

我目前正在使用此代码:

List<int> list = new List<int>();
list.Add(0);
list.Add(1);
list.Add(2);
list.Add(3);
color0 = list[1];
color1 = list[2];
color2 = list[3];
color3 = list[4];
Run Code Online (Sandbox Code Playgroud)

有没有一种可能的方法,此列表可以在1个元素中包含2个参数?我的意思是:

List<int,int> list = new List<int,int>();
list.Add(0,3);
list.Add(1,8);
color0=list[1][2]; //output 3
color1=list[1][1]; //output 0
color2=list[2][2]; //output 8
color3=list[2][1]; //output 1
Run Code Online (Sandbox Code Playgroud)

我有可能实现类似的目标吗?

c# int arguments arraylist

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