小编Mar*_*cel的帖子

是否可以在 Visual Studio 中将文本复制到堆栈或从堆栈中粘贴文本?

Ctrl + C 只能在剪贴板中存储单个选定的文本。我需要从不同的地方复制多个文本并将它们粘贴到另一个地方。Visual Studio(2010) 是否有任何工具(插件)可以处理这个问题?

visual-studio-2010 visual-studio-2008 visual-studio

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

TextReader上的Read()和ReadBlock()调用有什么区别?

标题或多或少都说明了一切.电话记录:

这里 for TextReader.Read Method (Char[], Int32, Int32)
Here用于TextReader.ReadBlock()相同的参数类型.

我想提取一个字节数组的一部分,为此我构成一个MemoryStream我打算用StreamReader这样的方式读取:

    StreamReader r = new StreamReader(new MemoryStream(rawData, 0, 184, false, false));
    r.Read.....
Run Code Online (Sandbox Code Playgroud)

我应该使用哪一个?其中一个更快还是更好?

c# stream streamreader textreader

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

如何用DevExpress取代已经过去的60个免费控件?

两年前我有一个开源的业余时间项目,我使用DevExpress提供的免费60控件,来自以下链接:https://www.devexpress.com/Products/Free/NetOffer/

我很高兴这些,我甚至亲自在这里推荐这些控件.

我的项目现在已经很老了,但是现在我想做一些小改动,我只是惊讶地发现,我将不再能够构建它,因为我依赖于这些控件.我没有在本地复制这些DevXpress库,所以我真的丢失了它们.

对于这些现在丢失的控件我该怎么办?有没有人面对同样的事情?我应该更换它们(相当多的工作,因为我现在根本不想改变用户界面),或者有人还有这些吗?

dll controls devexpress winforms

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

Linq to Entities有多对多选择:如何强制生成JOIN而不是subselect子句?

在此输入图像描述

首先使用EF DB,我有两个具有多对多关系的实体(供应商,产品).实体框架不为关联表(SupplierProduct)创建实体,因为关联表仅包含强实体的主键.

我一直在向所有不提供给定产品的供应商提供以下查询:

var q1 = context.Suppliers.Where(s=>!s.Products.Any(p=>p.Id == 1));
Run Code Online (Sandbox Code Playgroud)

生成的SQL使用类似于此的EXISTS依赖子查询:

SELECT *
FROM Suppliers s
WHERE NOT EXISTS
  (SELECT 1 
   FROM SupplierProduct sp WHERE sp.SupplierId = s.Id && sp.ProductId = 1)
Run Code Online (Sandbox Code Playgroud)

是否可以使用Linq to Entities方法语法生成在关联表上使用连接的查询?

即:

SELECT DISTINCT s.*
FROM SupplierProduct sp
JOIN Supplier s ON s.Id = sp.SupplierId;
WHERE sp.ProductId != 1
Run Code Online (Sandbox Code Playgroud)

更新

正如JoeEnos所指出的,我上面的查询并没有做同样的事情.NOT EXISTS子查询可能是最好的方法.如果我试图让所有供应商谁供应的产品?我会将我的linq更改为实体查询稍微:

var q1 = context.Suppliers.Where(s => s.Products.Any(p=>p.Id == 1));
Run Code Online (Sandbox Code Playgroud)

并且生成的SQL将是:

SELECT *
FROM Suppliers s
WHERE EXISTS
  (SELECT 1 
   FROM SupplierProduct sp WHERE sp.SupplierId …
Run Code Online (Sandbox Code Playgroud)

c# linq-to-entities entity-framework join subquery

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

在 ReportViewer 中刷新数据集中的字段

我有一个用 VS2012 编写的 WinForms 应用程序。它从我的 SQL Server 数据库上的视图获取数据。我在视图中添加了一个新列,但是找不到让 ReportViewer 数据集查看新列的方法。

在 ReportData 面板中,我尝试过:

右键单击数据源,然后单击刷新。右键单击数据集,然后单击刷新

两者都没有让新列显示在可用列的列表中。

如何在 VS2012 中的报表设计器中显示该列?

c# reportviewer winforms

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

为什么Page.PreviousPage始终为null?

我正在通过这篇MSDN文章试验跨页面发布.我有这个代码:

CrossPagePosting1.aspx

<form id="form1" runat="server">
    <h1>Page 1</h1>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
    <asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="CrossPagePosting2.aspx"/>
</form>
Run Code Online (Sandbox Code Playgroud)

CrossPagePosting2.aspx

<form id="form1" runat="server">
    <h1>Page 2</h1>
    <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</form>
Run Code Online (Sandbox Code Playgroud)

CrossPagePosting2.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
    TextBox TextBox1 = (TextBox)Page.PreviousPage.FindControl("TextBox1");
    Label1.Text = TextBox1.Text;
}
Run Code Online (Sandbox Code Playgroud)

上面的代码产生了一个NullReferenceExceptionat Page.PreviousPage.为什么?

这是一个ASP.Net 4.0应用程序.

它使用FriendlyUrls,这是默认值.

注意:我不希望上一页是强类型的,例如使用PreviousPageType指令.根据引用的文章,这不应该是必要的.

asp.net webforms cross-page-posting

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

如何将IEnumerable(没有类型)转换为IQueryable <T>?

我使用LINQ了很多,我今天在基本任务上遇到了磕磕绊绊:

具有IQueryable<T>出的IEnumerable(没有指定的类型).

具体来说,我想查询SqlParameterCollection的参数.这是从派生IDataParameterCollection, IList, ICollection, IEnumerable这里描述.但是,这些都没有指定的类型.

因此,我的问题归结为:如何使用LINQ查询SqlParameterCollection?

这就是我所做的(编译器没有抱怨):

IQueryable<SqlParameter> queryable = 
    sqlCommand.Parameters.AsQueryable().Cast<SqlParameter>();
    //throws ArgumentException "source is not IEnumerable<>"
Run Code Online (Sandbox Code Playgroud)

注意:我已经搜索了很多,但是每个人都在谈论IEnumerable<T>哪个使用AsQueryable()当然很容易查询.

c# linq collections ienumerable iqueryable

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

如何将HTML代码放入.resx资源文件?

奇怪的是,之前没有人问过这个......

我正在为4种语言创建模板化的HTML电子邮件.我想将HTML模板放入我的.resx文件中,以便通过代码轻松,国际化地访问它们.像这样:

.resx文件:

<data name="BodyTemplate" xml:space="preserve">
    <value><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <html>
        <head>
            <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
            <title>Title</title>
            ...
        </body>
        </html>
    </value>
</data>
Run Code Online (Sandbox Code Playgroud)

但是,显然,编译器抱怨.resx文件中的HTML.有没有办法在.resx文件中使用HTML(或XML).怎么样?

我使用.NET版本4和dotLiquid作为模板引擎,如果这很重要的话.

html c# asp.net resx internationalization

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

如何使用 LINQ 等待 ParallelQuery?

我有一个异步方法,应该查找数据库条目。它按名称过滤,因此是并行执行的候选者。

但是,我找不到一种简单的方法来支持并行执行和异步任务。

这是我所拥有的:

private async Task<List<Item>> GetMatchingItems(string name) {
    using (var entities = new Entities()) {
        var items =  from item in entities.Item.AsParallel()
               where item.Name.Contains(name)
               select item;
        return await items.ToListAsync(); //complains "ParallelQuery<Item> does not contain a definition for ToListAsync..."
    }
}
Run Code Online (Sandbox Code Playgroud)

当我删除它时AsParallel(),它将编译。AI 不应该同时使用这两个功能吗?还是我理解有问题?

IHMO,两者都有道理:

  • AsParallel()表示数据库查询可能会分成几个同时运行的子查询,因为任何项目的单独匹配都不依赖于任何其他项目。更新:这个例子中的坏主意,请参阅评论和答案!
  • ToListAsync()将支持此方法的异步执行,以允许其他匹配方法(在其他数据上)立即开始执行。

如何同时使用并行执行(使用 LINQ)和异步任务?

linq asynchronous parallel-extensions async-await

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

c#中简化的"for循环"语法

我想使用C#来构建一个定制的脚本语言.它将具有简单的语句,实际上是带有以下参数的方法调用:

Set("C1", 63);
Wait(1.5);
Incr("C1", 1);
Run Code Online (Sandbox Code Playgroud)

现在,我想提供一个循环,并且索引器的常用C#语法对于这么简单的事情来说太复杂了.例如,我会循环20次:

for (20)
{
  Wait(1.5);
  Incr("C1", 1);      
}
Run Code Online (Sandbox Code Playgroud)

是否有某种方法可以至少紧密地实现这样一个简单的循环?(例如,for语句中的包装方法调用等)

谢谢,马塞尔

c# syntax loops for-loop

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