小编Tim*_*uri的帖子

结构是否比类"更快" - 一般情况下还是在.NET框架中?

由于结构是值类型,因此在将数据作为参数传递给方法时会复制它们的数据.例:

int someInt = 7;

DoSomeMethod(someInt); // <-- This is passing the "value" 7.
Run Code Online (Sandbox Code Playgroud)

到目前为止,很容易理解,你可能想知道我的问题是如何有效的......所以请考虑以下几点:

public struct TimmysStructOfGoodness
{
    public int SomeInt1;
    public int SomeInt2;
    public int SomeInt3;
    // ... later that day ...
    public int SomeInt999;
}
Run Code Online (Sandbox Code Playgroud)

然后,参考以下代码:

TimmysStructOfGoodness someStructOfGoodness = new blah blah blah...

DoSomeMethod(someStructOfGoodness); // <-- **HERE IS WHERE THE QUESTION APPLIES!**
Run Code Online (Sandbox Code Playgroud)

上面的语句是否试图分配几个内存来"复制"我的值类型(struct)?

如果答案是肯定的 - 那么何时/哪里是"更快"和"更慢"之间的界线?

如果不是 - 那为什么不呢?因为我所知道的价值类型,这应该是一个问题.

主要免责声明:我知道这与你为什么要使用一个类的结构无关,而且我知道我永远不会用999个字段创建一个结构 - 这只是一个基本的内部和内部等问题: )

.net memory-management data-structures

17
推荐指数
3
解决办法
5079
查看次数

如何在C#(托管代码)中获得*THREAD*的CPU使用率和/或RAM使用率?

我知道如何获得进程的CPU使用率和内存使用率,但我想知道如何在每个线程级别上获取它.如果最好的解决方案是做一些P-Invoking,那也没关系.

我需要的例子:

Thread myThread = Thread.CurrentThread;

// some time later in some other function...

Console.WriteLine(GetThreadSpecificCpuUsage(myThread));
Run Code Online (Sandbox Code Playgroud)

c# performance multithreading memory-management cpu-usage

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

在jQuery中,如何设置"max-height"CSS属性的动画?

我可以很容易地为"不透明"属性设置动画

$("#blah").animate({ opacity: 0.5}, 1000);
Run Code Online (Sandbox Code Playgroud)

如何设置max-height css属性的动画...示例:

$("#blah").animate({ "max-height": 350}, 1000);
Run Code Online (Sandbox Code Playgroud)

(提示,该代码不起作用)

编辑:回答以下问题:

  1. 所有css类都有多个图像"blah"
  2. 图像是随机大小的,但它们都有最大高度:100px
  3. 当用户将鼠标悬停在图像上时,我希望它为最大高度设置动画(从而平滑地限制高度)

css jquery jquery-animate

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

如何在没有关闭的情况下"隐藏()"模态WPF窗口?

我有一个WPF窗口,它作为一种"通知程序窗口"在后台线程上运行...当一个事件被引发时,它会显示一条消息......用户点击"贪睡"按钮然后我打电话 this.Visibility = Visibility.Collapsed

我隐藏窗口的那一刻(通过调用this.Hide()或设置Visibility如上所述)......"ShowDialog()"代码释放窗口并关闭它.

这绝对是WPF代码中的一个错误(我通过反射器识别出来的......)但我的问题仍然存在.有没有人能够为这个问题找到解决办法?

我已经尝试了很多东西,现在我正在接触到聪明的人:)

c# wpf modal-dialog

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

LINQ to SQL - ForeignKey中的Nullable INT ="无法创建关联..."

我有一个表有一个INT的主键...我有另一个表,与第一个表有一个外键关系,但它是一个NULLABLE INT.

这是完全可以的,并且100%可以接受SQL ...但是LINQ to SQL抱怨不匹配的类型("int to Nullable [int]").

错误消息:无法创建关联"Store_People".属性没有匹配的类型:"PersonID","ID".

我如何解决这个问题,以便设计师不再对SQL的正确使用率100%大喊大叫?

foreign-keys associations linq-to-sql

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

以纯文本格式识别URL

这应该很容易,但我不确定如何最好地去做.我有一个WinForms应用程序,让用户输入长描述.有时候,他们会键入URL,RichTextBox会识别它们并在显示时使它们可以点击.

我正在将应用程序移动到网络上,我不确定如何使这些相同的URL可以点击.是否有一些半自动方式将" http://www.google.com "或"www.google.com" 转换为可点击链接?我是否必须使用RegEx匹配?

regex asp.net url

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

如何使用反射在运行时构建此c#"Expression"?

直到今天,我还没有找到一篇关于表达的好文章 - 以及如何查看C#lambda语句并说"哦,那是一个等等等等......"所以,如果你知道一篇好文章,我会很感激这也是一个答案.

代码示例解释问题

所以...给出以下c#代码:

public class SomeClass<T>
{
    public TResult SomeMethod<TResult>(Expression<Func<T, TResult>> expression)
    {
        // This is just an example... don't get hung up on this :)
        return default(TResult);
    }
}

public class Person
{
    public string FirstName { get; set; }

    public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢...

var blah = new SomeClass<Person>();

blah.SomeMethod(p => p.FirstName);
Run Code Online (Sandbox Code Playgroud)

在运行时(使用反射)?

我期待作为答案

我有点期待这样的事情...但我确信我选择的表达方式已经过时了.

// By the way, these values are being passed to me... so you
// can't change this …
Run Code Online (Sandbox Code Playgroud)

.net c# reflection lambda expression

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

在WCF中 - 在"故障"事件中 - 如何获取异常详细信息?

我有一个WCF服务器,我攻到了"断陷"事件,只有愚蠢给我"对象发件人,EventArgs的".如何在该事件中获取当前的"异常"对象?

或者,如果有某种形式的全球系统的方式,像Environment.GetCurrentException(),这将是真棒,但我不能找到它.

编辑:为了帮助解释什么,我希望......在ASP.NET中,你可以做"Server.GetLastError()" ......有没有这样的事,或参选甚至远程接近WCF? - OperationContext.Current.GetLastError()会很酷:)

wcf exception

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

如何在LINQ-To-SQL中手动设置标识字段(IDENTITY INSERT)

我有一个表,通常在插入时,自动键将递增.但是,有些情况下我们想要设置ID(在SQL中可以使用"IDENTITY INSERT"轻松完成).

有没有办法用LINQ to SQL实现这一目标?

谢谢,

identity insert linq-to-sql

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

在WPF中,如何防止我的样式被覆盖?

请不要陷入我的榜样,只是为了这个问题而忍受我:

在我的WPF应用程序中,如果我希望所有TextBox都具有"绿色"背景,我可以在我的Application.Resources中轻松设置它.

<Style TargetType="TextBox">
 <Setter Property="Background" Value="Green" />
</Style>
Run Code Online (Sandbox Code Playgroud)

完美地工作 ......(谢谢你WPF).但是,如果我在我的应用程序中的某个地方有一个TextBox,我想要添加更多样式 ......我失去了我的绿色背景.

例:

<TextBox>
 <TextBox.Style>
  <Style>
   <Style.Triggers>
    <Trigger Property="TextBox.IsMouseOver" Value="True">
     <Setter Property="TextBox.Foreground" Value="Red" />
    </Trigger>
  </Style.Triggers>
  </Style>
 </TextBox.Style>
</TextBox>
Run Code Online (Sandbox Code Playgroud)

当鼠标结束时,TextBox将正确地具有红色前景,但绿色背景完全丢失.

所以,问题是:我如何告诉WPF不要完全消除所有来自上面的样式,因为我有一个简单的,非冲突的,这么小的风格添加到控件的某个地方?

wpf styling

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