Tag: C#的

Expression.Quote()是做什么的Expression.Constant()不能已经做?

注意:我知道前面的问题“ LINQ的Expression.Quote方法的目的是什么? “ ,但是如果你阅读,你会看到它不能回答我的问题。 我明白Expression.Quote()目的是什么。 但是,可以将Expression.Constant()用于相同的目的(除了已经使用了Expression.Constant()所有用途之外)。 因此,我不明白为什么Expression.Quote()完全需要。 为了certificate这一点,我写了一个快速示例,其中通常使用Quote (请参阅标有感叹号的行),但是我使用了Constant ,而且效果相当好: string[] array = { "one", "two", "three" }; // This example constructs an expression tree equivalent to the lambda: // str => str.AsQueryable().Any(ch => ch == 'e') Expression<Func<char, bool>> innerLambda = ch => ch == 'e'; var str = Expression.Parameter(typeof(string), "str"); var expr = Expression.Lambda<Func<string, […]

如何重置C#中的计时器?

有三个我知道的Timer类, System.Threading.Timer , System.Timers.Timer和System.Windows.Forms.Timer ,但是没有一个.Reset()函数会重置当前stream逝的时间为0。 有没有BCL类有这个function? 有没有这样做的黑客方式? (我想也许改变它的时间限制可能会重置它)思考重新实现具有此function的Timer类,或如何与BCL类之一可靠地执行它是多么困难?

在C#中创build一个常量字典

什么是最有效的方法来创build一个常量 (永远不会在运行时更改) string映射到int s? 我试过使用一个常量字典 ,但没有解决。 我可以用适当的语义实现一个不可变的包装器 ,但是这看起来还不完全正确。 对于那些有问题的人,我在一个生成的类中实现了IDataErrorInfo,并且正在寻找一种方法将columnName查find我的描述符数组中。 我没有意识到(testing时错字!)哦,开关接受string,所以这就是我要使用的。 谢谢!

用Moqvalidation一个特定的参数

public void SubmitMessagesToQueue_OneMessage_SubmitSuccessfully() { var messageServiceClientMock = new Mock<IMessageServiceClient>(); var queueableMessage = CreateSingleQueueableMessage(); var message = queueableMessage[0]; var xml = QueueableMessageAsXml(queueableMessage); messageServiceClientMock.Setup(proxy => proxy.SubmitMessage(xml)).Verifiable(); //messageServiceClientMock.Setup(proxy => proxy.SubmitMessage(It.IsAny<XmlElement>())).Verifiable(); var serviceProxyFactoryStub = new Mock<IMessageServiceClientFactory>(); serviceProxyFactoryStub.Setup(proxyFactory => proxyFactory.CreateProxy()).Returns(essageServiceClientMock.Object); var loggerStub = new Mock<ILogger>(); var client = new MessageClient(serviceProxyFactoryStub.Object, loggerStub.Object); client.SubmitMessagesToQueue(new List<IMessageRequestDTO> {message}); //messageServiceClientMock.Verify(proxy => proxy.SubmitMessage(xml), Times.Once()); messageServiceClientMock.Verify(); } […]

“int * ptr = int()”的值初始化是不是非法的?

下面的代码(取自这里 ): int* ptr = int(); 在Visual C ++中编译并初始化指针。 这怎么可能? 我的意思是int()产生一个inttypes的对象,我不能指定一个int指针。 上面的代码是不是非法的?

C#中Task.FromResult <TResult>的用法是什么

在C#和TPL( 任务并行库 )中, Task类表示一个正在进行的工作,产生一个Ttypes的值。 我想知道什么是Task.FromResult方法的需要? 那就是:在一个已经产生了价值的情况下,有什么需要把它重新包装到一个任务中? 唯一想到的是它被用作接受Task实例的其他方法的一些适配器。

如何为Android和iOS使用相同的C ++代码?

Android与NDK支持C / C ++代码, Objective-C ++也支持iOS,那么如何用Android和iOS共享的本机C / C ++代码编写应用程序?

使用Enumerable.Empty <T>()而不是新的List <T>()初始化IEnumerable <T>会更好吗?

假设你有一个Person Person: public class Person { public string Name { get; set;} public IEnumerable<Role> Roles {get; set;} } 我显然应该在构造函数中实例化angular色。 现在,我曾经这样做过一个列表: public Person() { Roles = new List<Role>(); } 但是我在System.Linq命名空间中发现了这个静态方法 IEnumerable<T> Enumerable.Empty<T>(); 来自MSDN : Empty(TResult)()方法cachingTResulttypes的空序列。 当它返回的对象被枚举时,它不会产生任何元素。 在某些情况下,此方法对于将空序列传递给采用IEnumerable(T)的用户定义方法很有用。 它也可以用来为Union等方法生成一个中性元素。 有关此用法的示例,请参阅示例部分 那么写这样的构造函数会更好吗? 你用它吗? 为什么? 或者如果没有,为什么不呢? public Person() { Roles = Enumerable.Empty<Role>(); }

如何在WPF中显示另存为对话框?

我有一个WPF / C#中的要求点击一个button,收集一些数据,然后把它放在一个文本文件,用户可以下载到他们的机器。 我可以得到这个的前半部分,但是如何用“另存为”对话框提示用户? 该文件本身将是一个简单的文本文件。

扩展方法不能dynamic分派

我想在MVC中有DropDownListFor @foreach (var item in Model) { @Html.DropDownListFor(modelItem => item.TitleIds, new SelectList(ViewBag.TitleNames as System.Collections.IEnumerable, "TitleId", "Title.TitleText"), "No: " + ViewBag.MagNo, new { id = "TitleIds" }) } 在控制器中 public ActionResult ArticleList(int id) { ArticleWriter_ViewModel viewModel = new ArticleWriter_ViewModel(); Func<IQueryable<NumberTitle>, IOrderedQueryable<NumberTitle>> orderByFunc = null; Expression<Func<NumberTitle, bool>> filterExpr = null; if (id > 0) { filterExpr = […]