小编Cha*_*thJ的帖子

为什么在Visual Studio 2010中构建时会获得忙碌的光标?

我认为最近在我的环境中发生了一些变化,导致在Visual Studio 2010中构建时出现间歇性忙碌光标.光标占用大约50%的时间.我安装了Resharper 5.1和Visual Assist X. 有任何想法吗?

.net build visual-studio-2010 visual-studio

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

使用FlagsAttribute将Enum解析为SqlParameter

我有一个Enum with Flags属性.

  [Flags]
    public enum AlcoholStatus
    {
        NotRecorded = 1,
        Drinker = 2,
        NonDrinker = 4
    }
Run Code Online (Sandbox Code Playgroud)

我正在创建一个Sqlparameter,如下所示.

new SqlParameter("@AlcoholStatus", SqlDbType.VarChar) {Value = (int) AlcoholStatus}
Run Code Online (Sandbox Code Playgroud)

如果AlcoholStatus具有所有值(NotRecorded | Drinker | NonDrinker),则返回7作为SqlParameter的值.

我正在为存储过程解析此参数,如果我可以将值解析为"1,2,3",我更喜欢.这样做的最佳方法是什么?

或者是否有任何其他简单的方法通过将整数值7解析为存储过程来过滤记录?

编辑:这发生在功能上的过滤器中,用户希望看到具有上述任何状态的人.这是一个非常复杂的SQL查询.在那里我过滤AlcoholStatus如下

WHERE AlcoholStatus IN "1,2,4,"
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server enums stored-procedures

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

WPF标签到TextBox

使用WPF中的TextBox显示文本标签(例如"Name")的最佳做法是什么?我想在TextBox上面有一个标签"Name"和许多类似的Labels/TextBoxes.我应该将Label/TextBox对放入垂直StackPanel吗?

有更简单的解决方案吗?

.net c# wpf

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

如何将第一个项目设置为选中

我这里有2个ListView控件,分别是Listview1和Listview2.我想要实现的是,每当触发Listview1的SelectionChanged事件时,我都希望选择并突出显示Listview2中的第一项.

我试图使用以下代码行来实现它,但我想这不正确.

private void ListView1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{    
    Listview2.SelectedIndex = 0;
}
Run Code Online (Sandbox Code Playgroud)

Listview2中的第一项仍未选中和突出显示.有人可以帮忙吗?首先十分感谢.

编辑:那条线是正确的.它没有用,因为我把它放在进行动态加载的代码行之前.难怪.... :)

.net c# wpf listview

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

在Windows窗体应用程序中加载窗体期间触发的SelectedValueChange()事件

我遇到了一个问题,即在加载我的Windows窗体应用程序时,在ComboBox上的SelectedValueChanged()事件被触发.目前,我还有一个Form_Load()事件正在加载几个ComboBox,包括这个,使用OleDbDataAdapters/DataTables/Fill()等.

我假设由于我的Form_Load()方法,由于ComboBox的数据被填充,因此触发了SelectedValueChanged事件.

为什么会这样?

.net c# events winforms

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

DataTable中的选定列

如何从DataTable中获取Selected列?
例如,我的BaseTable有三列,
ColumnA,
ColumnB和
ColumnC.

现在作为中间操作的一部分,我需要仅从ColumnA检索所有行.是否有像DataTable.Select一样的预定义公式

.net c# datatable

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

如果对象为null则引发异常

我最近发现:

if (Foo() != null)    
   { mymethod(); }
Run Code Online (Sandbox Code Playgroud)

可以改写成

Foo?.mymethod()
Run Code Online (Sandbox Code Playgroud)

可以用类似的方式重写以下内容吗?

if (Foo == null)
{ throw new Exception()}
Run Code Online (Sandbox Code Playgroud)

.net c# null operators visual-studio

5
推荐指数
4
解决办法
8648
查看次数

方法本地 .NET 对象何时有资格进行 GC?

假设我有一个这样的 C# 方法:(显然不是真正的代码)

byte[] foo()
{
    var a = MethodThatReturns500mbObject();
    var b = MethodThatReturns200mbObject(a);
    byte[] c = MethodThatReturns150mbByteArray(b);
    byte[] d = UnwiselyCopyThatHugeArray(c);
    return d;
}
Run Code Online (Sandbox Code Playgroud)

正如您可以通过命名猜测的那样,这些方法返回的对象是巨大的。每个都需要数百兆字节的总 RAM,尽管前两个对象由数百万个较小的对象组成,而不是像后两个数组那样是一个巨大的块。

我们很快就会将其优化为流式解决方案,但与此同时,我想确保至少我们不会在执行代码以生成后期对象时阻止对早期对象的 GC。

我的问题是:a一旦 MethodThatReturns200mbObject(a) 返回,对象是否有资格进行 GC?如果没有,让 GC 知道有 500MB 存在等待它的最佳方法是什么?

我的问题的核心是 .NET GC 对“此对象没有引用”的判断是否足够聪明,知道返回a后无法引用MethodThatReturns200mbObject(a)。尽管var a理论上仍可用于以后的代码,a但在方法第二行以下的任何地方都没有引用。理论上,编译器可以让 GC 知道它a是未引用的。但在实践中,我不确定它的行为方式。你知道吗?

.net c# garbage-collection memory-management large-object-heap

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

Apple Pay 与 Angular 集成

我想将 ApplePay 和 GooglePay 集成到我们的 Angular 应用程序中。

对于GooglePay,google 提供了一个有用的npm 包。https://www.npmjs.com/package/@google-pay/button-angular

我试图为 ApplePay 寻找类似的优质套餐,但没有找到。

我想在 Angular 上实现 ApplePay。有两种方法可以实现它(JS API 和 Payment Request API),我想使用 API 方法,因为我想在服务器端进行尽可能多的处理。通过查看以下页面,很难理解 JS API 和 Payment Request API 之间的区别。 https://applepaydemo.apple.com/

令人惊讶的是,我找不到任何 Angular 使用 ApplePay 的示例代码。我不敢相信以前没有人在 Angular 上使用过 ApplePay。可能还有另一种/更好的方法吗?

在 Angular 中,获取窗口实例甚至很棘手。我已经尝试了这个问题中的解决方案,并设法使用服务提供商注入窗口实例。我可以在适当的设备上显示 ApplePay 按钮,但在调用 ApplePaySession 对象时出现以下错误。显然注入的窗口不是顶级窗口。

错误:尝试从安全源与其顶级框架不同的文档启动 Apple Pay 会话。

根据WebKit 代码,这是它返回错误但不确定如何解决它的时候。

 if (!ancestorDocument->securityOrigin().isSameSchemeHostPort(topOrigin))
      return Exception { InvalidAccessError, "Trying to start an Apple Pay session from a document with an different security origin than its top-level …
Run Code Online (Sandbox Code Playgroud)

applepay applepayjs angular payment-request-api angular12

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

在 ASP.NET 中绘制两点之间的箭头

我正在 ASP.NET 中动态生成图像。如何绘制箭头而不是下面代码片段中的线条。我找不到任何相关的 API。

Bitmap image = new Bitmap(640, 480);
Graphics graphics = Graphics.FromImage(image);
.
.
graphics.DrawLine(new Pen(Color.Red), lPoint, rPoint);
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net graphics

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