问题列表 - 第13311页

为什么带有T:class约束的泛型方法导致装箱?

为什么将T限制为类的泛型方法会在生成MSIL代码中有装箱指令?

我对此感到非常惊讶,因为由于T被约束为引用类型,因此生成的代码不需要执行任何装箱.

这是c#代码:

protected void SetRefProperty<T>(ref T propertyBackingField, T newValue) where T : class
{
    bool isDifferent = false;

    // for reference types, we use a simple reference equality check to determine
    // whether the values are 'equal'.  We do not use an equality comparer as these are often
    // unreliable indicators of equality, AND because value equivalence does NOT indicate
    // that we should share a reference type since it may be a mutable.

    if (propertyBackingField != newValue)
    { …
Run Code Online (Sandbox Code Playgroud)

.net c# generics boxing

12
推荐指数
1
解决办法
950
查看次数

正则表达式:匹配任何单词直到第一个空格

我有以下几行:

hshd    household   8/29/2007   LB
Run Code Online (Sandbox Code Playgroud)

我想匹配第一个空格(空格)之前的任何内容.所以,在这种情况下,我想回来

hshd
Run Code Online (Sandbox Code Playgroud)

regex

127
推荐指数
5
解决办法
22万
查看次数

如何压缩大量类似的双打?

我想在内存中存储数十亿(10 ^ 9)的双精度浮点数并节省空间.这些值按数千个有序集合(它们是时间序列)进行分组,在一个集合中,我知道值之间的差异通常不大(与其绝对值相比).而且,彼此越接近,差异相对小的概率越高.

完美契合将是delta编码,其仅存储每个值与其前任的差异.但是,我想随机访问数据的子集,所以我不能依赖于按顺序完成整个集合.因此,我使用增量到一个集合范围的基线,产生增量,我预计它将在绝对值的10%到50%之间(大部分时间).

我考虑过以下方法:

  • 将较小的值除以较大的值,得到一个介于0和1之间的值,该值可以存储为某个固定精度的整数加一位,用于记住哪个数除以哪个.这是相当简单的并且产生令人满意的压缩,但不是无损方法,因此仅是次要选择.
  • 对这两个值的IEEE 754二进制64编码表示进行异或,并在指数的开头和尾数加上不同的剩余比特存储长的零延伸的长度.在这里我很不确定如何判断压缩,虽然我认为在大多数情况下它应该是好的.

有没有标准的方法来做到这一点?我上面的方法可能有什么问题?您自己看过或使用过哪些其他解决方案?

compression

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

你可以在xbox 360的XNA项目中有WPF引用吗?

我正在Windows和Xbox 360中编写一个XNA项目,它的Windows端有一个我把它作为WPF应用程序编写的控制台.我想知道的是,如果我把它留在我的库代码中并引用WPF,那么dll是否仍然适用于360?

windows xna xbox360

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

SQL查找包含所有标记集的文章

使用任何一组标签查找文章是一个相对简单的连接,并且已经讨论过:最佳数据库(MySQL)结构:包含偏好标签的文章

但是,如果我正在搜索,并希望找到包含所有标签的文章,该怎么办?

为了具体,请假设下表:

CREATE TABLE `articles` (
   `id` INT NOT NULL
);

CREATE TABLE `applied_tags` (
   `tag_id` INT NOT NULL,
   `article_id` INT NOT NULL
);

CREATE TABLE `search_tags` (
   `search_id` INT NOT NULL,
   `tag_id` TAG NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

我想出了这个,我觉得它可能会起作用,但它很庞大,丑陋,有点不清楚,所以我认为必须有一个更好的方法:

Select articles.id from articles
where
 ( select count(*) from applied_tags
   where applied_tags.article_id == articles.id
     and applied_tags.tag_id in (select search_tags.tag_id from search_tags where search_tags.search_id == <input>) 
     ==
 (select count(*) from search_tags where search_tags.search_id == <input>)
Run Code Online (Sandbox Code Playgroud)

(基本上,如果相关标签的数量是预期值,则进行计数.)

sql

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

WPF:第二页访问后NavigationService为NULL

场景:

我有这样的NavigationWindow样式:

<Style TargetType="NavigationWindow" x:Key="{x:Type NavigationWindow}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="NavigationWindow" >
                    ...
</Style>
Run Code Online (Sandbox Code Playgroud)

我启动我的应用程序,加载一个名为Home.xaml的页面.在Home.xaml中,我有一个导航到另一个名为PersonalData的页面的按钮:

private void btnNewUser_Click(object sender, System.Windows.RoutedEventArgs e)
{
    PersonalData personalData = new PersonalData();
    this.NavigationService.Navigate(personalData);
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,并加载PersonalData页面.在第二页上,我有一个导航回主页的"Home"按钮:

    private void btnHome_Click(object sender, System.Windows.RoutedEventArgs e)
    {
        Home home = new Home();
        this.NavigationService.Navigate(home);
    }
Run Code Online (Sandbox Code Playgroud)

我在这里使用"导航"是因为我想在以后的表单上重复使用该按钮,总是有一个通向开始页面的按钮.

所以这也有效,主页被加载.我甚至可以再次点击btnNewUser那里,PersonalData页面打开没有任何问题.

但是,当我第二次单击"主页"按钮时,出现"this.NavigationService"为空的错误.

我刚刚开始使用WPF,我不知道从哪里开始修复这个......任何人?

navigation wpf

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

在IIS中枚举应用程序池

我想知道是否有一种方法可以使用ASP.net 3.5在不使用WMI的情况下枚举本地IIS服务器上的应用程序池集合(不是给定池中的应用程序 - 而是池本身),如果是这样,有人可以提供如何完成的链接或示例?

(我忘了添加IIS版本是6.0).

.net c# iis iis-6 application-pool

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

为什么Interlocked.Add没有超载接受双打作为参数?

我完全理解Threading.Interlocked类提供的原子性; 但是,我不明白为什么Add函数只提供两个重载:一个用于Integers,另一个用于Longs.为什么不双打,或任何其他数字类型?

显然,更改Double的预期方法是CompareExchange; 我认为这是因为修改Double比修改Integer更复杂.我还不清楚为什么,如果CompareExchange和Add都能接受整数,他们也不能同时接受双打.

.net c# vb.net multithreading atomic

20
推荐指数
3
解决办法
7463
查看次数

在RecordNotFound上引发ActiveRecord错误

如果没有找到记录,有没有办法做一个引发异常的find_by_x?

activerecord ruby-on-rails

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

您如何引用 SSRS 报告的嵌入代码中的字段

是否有正确的方法可以从 ssrs 报告的嵌入代码中引用 ssrs 报告的字段?

当我尝试使用时Fields!Program.Value,出现以下错误——

自定义代码的第 3 行出现错误:[BC30469]
对非共享成员的引用需要对象引用。

通过谷歌搜索,我发现您可以通过Report.在开头添加来引用报告的参数。所以我尝试了这个Report.Fields.Program.Value

这导致以下错误...

自定义代码的第 3 行出现错误:[BC30456]“字段”不是“Microsoft.ReportingServices.ReportProcessing.ExprHostObjectModel.IReportObjectModelProxyForCustomCode”的成员。

所以......总而言之,有没有办法从嵌入的代码中引用字段。我发现我可以将字段 vals 传递给函数本身,但我更愿意直接引用这些字段。

赛斯

sql-server visual-studio reporting-services

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