由于结构是值类型,因此在将数据作为参数传递给方法时会复制它们的数据.例:
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个字段创建一个结构 - 这只是一个基本的内部和内部等问题: )
我知道如何获得进程的CPU使用率和内存使用率,但我想知道如何在每个线程级别上获取它.如果最好的解决方案是做一些P-Invoking,那也没关系.
我需要的例子:
Thread myThread = Thread.CurrentThread;
// some time later in some other function...
Console.WriteLine(GetThreadSpecificCpuUsage(myThread));
Run Code Online (Sandbox Code Playgroud) 我可以很容易地为"不透明"属性设置动画
$("#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)
(提示,该代码不起作用)
编辑:回答以下问题:
我有一个WPF窗口,它作为一种"通知程序窗口"在后台线程上运行...当一个事件被引发时,它会显示一条消息......用户点击"贪睡"按钮然后我打电话 this.Visibility = Visibility.Collapsed
我隐藏窗口的那一刻(通过调用this.Hide()或设置Visibility如上所述)......"ShowDialog()"代码释放窗口并关闭它.
这绝对是WPF代码中的一个错误(我通过反射器识别出来的......)但我的问题仍然存在.有没有人能够为这个问题找到解决办法?
我已经尝试了很多东西,现在我正在接触到聪明的人:)
我有一个表有一个INT的主键...我有另一个表,与第一个表有一个外键关系,但它是一个NULLABLE INT.
这是完全可以的,并且100%可以接受SQL ...但是LINQ to SQL抱怨不匹配的类型("int to Nullable [int]").
错误消息:无法创建关联"Store_People".属性没有匹配的类型:"PersonID","ID".
我如何解决这个问题,以便设计师不再对SQL的正确使用率100%大喊大叫?
这应该很容易,但我不确定如何最好地去做.我有一个WinForms应用程序,让用户输入长描述.有时候,他们会键入URL,RichTextBox会识别它们并在显示时使它们可以点击.
我正在将应用程序移动到网络上,我不确定如何使这些相同的URL可以点击.是否有一些半自动方式将" http://www.google.com "或"www.google.com" 转换为可点击链接?我是否必须使用RegEx匹配?
直到今天,我还没有找到一篇关于表达的好文章 - 以及如何查看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) 我有一个WCF服务器,我攻到了"断陷"事件,只有愚蠢给我"对象发件人,EventArgs的".如何在该事件中获取当前的"异常"对象?
或者,如果有某种形式的全球系统的方式,像Environment.GetCurrentException(),这将是真棒,但我不能找到它.
编辑:为了帮助解释什么,我希望......在ASP.NET中,你可以做"Server.GetLastError()" ......有没有这样的事,或参选甚至远程接近WCF? - OperationContext.Current.GetLastError()会很酷:)
我有一个表,通常在插入时,自动键将递增.但是,有些情况下我们想要设置ID(在SQL中可以使用"IDENTITY INSERT"轻松完成).
有没有办法用LINQ to SQL实现这一目标?
谢谢,
请不要陷入我的榜样,只是为了这个问题而忍受我:
在我的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不要完全消除所有来自上面的样式,因为我有一个简单的,非冲突的,这么小的风格添加到控件的某个地方?
c# ×3
.net ×2
linq-to-sql ×2
wpf ×2
asp.net ×1
associations ×1
cpu-usage ×1
css ×1
exception ×1
expression ×1
foreign-keys ×1
identity ×1
insert ×1
jquery ×1
lambda ×1
modal-dialog ×1
performance ×1
reflection ×1
regex ×1
styling ×1
url ×1
wcf ×1