小编Til*_*lak的帖子

如何从另一个项目中的一个项目调用类?

请原谅这个令人难以置信的愚蠢问题,但我不熟悉C#.我只是无法弄清楚如何在另一个项目中使用一个项目中的类.

假设我想从Project1中取一个字符串到Project2,并让Project2打印出字符串.

我使用"添加引用"菜单从Project1引用Project2,然后我添加"使用Project2"然后我将其写入尝试并从"Project2"中的"ClassA"调用"print".

        Project2.ClassA Classa = new Project2.ClassA();
        Console.WriteLine(Classa.print);
Run Code Online (Sandbox Code Playgroud)

但我得到的只是错误信息.

所以任何人都可以一步一步地解释为什么我需要做什么?

.net c# project-reference console-application visual-studio

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

为什么我们需要.NET中的引用类型

为什么我们需要.NET中的引用类型?

我只能想到一种情况,它支持在不同功能之间共享数据,从而提供存储优化.

除此之外,我无法列举任何理由,为什么需要参考类型?

.net c# reference-type

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

将List <bool>转换为List <object>

有没有什么快捷方式或更好的方法来强制转换List<bool>List<object>

我知道我可以通过循环和转换单个项目来做到这一点,但我想知道是否可以在一个语句中强制转换整个列表.

.net c# generics covariance

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

比较.NET中的GUID时出现意外行为

我试图创建一个看起来像这样的扩展方法......

public static IEnumerable<T> Distinct<T>(this IEnumerable<T> value, IEnumerable<T> compareTo, Func<T, object> compareFieldPredicate)
{
    return value.Where(o => !compareTo.Exists(p => compareFieldPredicate.Invoke(p) == compareFieldPredicate.Invoke(o)));
}
Run Code Online (Sandbox Code Playgroud)

我的想法是,我可以做这样的事......

IEnumerable<MyCollection> distinctValues = MyCollection.Distinct(MyOtherCollection, o => o.ID); //Note that o.ID is a guid
Run Code Online (Sandbox Code Playgroud)

现在,在这一点上,我本来希望只有我的不同物品归还给我,但我发现从来没有这样.

进一步研究使用以下代码分解此方法.

Guid guid1 = Guid.NewGuid();
Guid guid2 = new Guid(guid1.ToString());

Func<MyObject, object> myFunction = o => o.ID;
Func<MyObject, object> myFunction1 = o => o.ID;

bool result = myFunction(MyObject) == myFunction1(MyObject);
//result = false
Run Code Online (Sandbox Code Playgroud)

我发现即使Guids是相同的,比较也总是返回false.

这是什么原因?

c# comparison lambda extension-methods guid

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

C# - 具有单个消费者线程的多个生产者线程

目前正在处理一个 C# 项目 - 我正在尝试做的一般想法是......

用户有一个或多个带有他们感兴趣的交易品种的投资组合,每个投资组合将交易品种的数据下载到 csv,解析它,然后对数据运行一组规则,根据这些规则的结果生成警报。每当经过设定的时间间隔时下载数据等

我计划让每个投资组合在它自己的线程上运行,这样当间隔过去时,每个投资组合可以继续下载数据,同时解析和运行规则,而不是一个一个。然后应将警报推送到包含警报队列的另一个线程 (!)。当它收到警报时,它会将它们发送给客户端。

有点多但是用 C# 解决这个问题的最好方法是什么 - 使用线程,或者像后台工作程序这样的东西,只是让警报队列在一个单独的线程上运行?

非常感谢您的任何建议,其中一些内容是新手,所以如果我完全错了,请随时告诉我:)

c# multithreading producer-consumer thread-safety blocking

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

如何在Windows 8应用程序中访问其他程序的应用程序数据中的文件?

我正在编写一个Windows 8应用程序,需要访问另一个程序的应用程序数据中的文件.我已经阅读了Window的文件permssion指南,并没有看到这样做的方法.这甚至可能吗?如果是这样,我该怎么做呢?

c# visual-studio microsoft-metro windows-8 windows-store-apps

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

Non Linq检查列表项的方式是相同的

这是Linq检查列表中所有项目是否相同的方法.

if (list.Distinct().Skip(1).Any())
Run Code Online (Sandbox Code Playgroud)

但是对于早于.NET 3.5开发的应用程序不起作用.以非Linq方式执行此操作的最佳方法是什么.

.net c# linq list linqbridge

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

通用列表匹配任何值

我确定有人已经回答了这个问题,但我找不到正确的搜索字词来找到它...

我可以通过循环遍历所有值来做到这一点但我只是检查是否有人知道更简单的方法.

Dim List1 As New List(Of Integer) From {1,3,5,7}

Dim List2 As New List(Of Integer) From {2,4,6,8}

List1.ContainsAnythingFrom(List2) = False
Run Code Online (Sandbox Code Playgroud)

因为两个列表中都没有匹配的数字.

Dim List1 As New List(Of Integer) From {1,**3**,5,7}

Dim List2 As New List(Of Integer) From {2,**3**,6,8}

List1.ContainsAnythingFrom(List2) = True
Run Code Online (Sandbox Code Playgroud)

因为每个列表中有3个.

我正在寻找一个ContainsAnythingFrom类型的函数.

.net linq vb.net generics list

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

字符串末尾的数字的正则表达式?

我想知道一个字符串是否以数字结尾(带/不带小数).如果它结束,我想提取它.

"Test1" => 1
"Test"  => NOT FOUND
"Test123" => 123
"Test1.1" => 1.1
Run Code Online (Sandbox Code Playgroud)

我错过了一些细节.
1.在数字之前,字符串也可以包含特殊字符
2.它是单行,而不是多行.

.net c# regex numbers

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

如何改进这个C#Linq代码?

customerInfo.Telephone = contactData.Where(d => d.ContactTypeId == (int)ContactType.Phone).FirstOrDefault() != null 
                    ? contactData.Where(d => d.ContactTypeId == (int)ContactType.Phone).FirstOrDefault().Data 
                    : string.Empty;
Run Code Online (Sandbox Code Playgroud)

contactData是IEnumerator.问题是两次运行相同的查询.如果我使用变量,我可以摆脱它,但是有一个新变量需要维护.
有没有办法让这些代码更具可读性,并且在不使用任何其他自定义库的情况下使其运行更快?

.net linq performance c#-4.0 asp.net-mvc-3

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