在与我的同事讨论期间,我怀疑.net中的垃圾收集器是在系统范围内还是在应用程序范围内工作.
意味着每个具有自己的GC的应用程序是否会影响系统性能?
我对此有点困惑.
我有以下部分xml文件.
<UN N="@U1">
<DT N="24/06/2011">
<PN N="@P1">
<TM N="02:24:11">
<JB T="GP">
<A>notepad</A>
<Z>Notepad</Z>
<N>Untitled - Notepad</N>
<J>1;0;1;1;0;0</J>
<C>0.00500;0.09500;0.03500</C>
<S>1;0;1;1</S>
<P>0;0</P>
<F>0</F>
</JB>
</TM>
</PN>
</DT>
<DT N="23/06/2011">
<PN N="@P1">
<TM N="02:38:49">
<JB T="PAGP">
<A>notepad</A>
<Z>Notepad</Z>
<N>Untitled - Notepad</N>
<J>1;1;1;1;0;1</J>
<C>0.00500;0.09500;0.03500</C>
<S>1;1;0;0</S>
<P>1;1</P>
<F>0</F>
</JB>
</TM>
</PN>
</DT>
.....
.....
</UN>
Run Code Online (Sandbox Code Playgroud)
我需要得到PN N = @ P1的最后一个节点.
样本查询将不胜感激.
提前致谢.
我有以下代码,它工作正常.
public partial class MainWindow : Window
{
Person person;
public MainWindow()
{
InitializeComponent();
person = new Person { Name = "ABC" };
this.DataContext = person;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
person.Name = "XYZ";
}
}
class Person: INotifyPropertyChanged
{
string name;
public string Name
{
get
{
return name;
}
set
{
name = value;
OnPropertyChanged("Name");
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string strPropertyName)
{
if(null != PropertyChanged)
{
PropertyChanged(this,
new PropertyChangedEventArgs(strPropertyName));
} …Run Code Online (Sandbox Code Playgroud) 我对TemplateBinding和TemplatedParent感到困惑.我已经通过这个链接 WPF TemplateBinding vs RelativeSource TemplatedParent
但我怀疑何时使用TemplateBinding和TemplatedParent?
提前致谢.
我有带有工具栏的 WPF 应用程序。在工具栏中,我有一些用户控件作为工具。
我已经为每个控件设置了访问密钥,它工作正常。
问题是:如果我点击一个用户控件(它由按钮和标签组成,我已经为按钮设置了访问键),给定的任务就完成了,但是当我按下任何访问键而不按“Alt”键时,它就会得到被选中。
有任何想法吗?
我有一个列表视图绑定到源.它工作正常.我已经设置了ScrollViewer.VerticalScrollBarVisibility ="Auto",因此如果没有空间来显示项目,它应该显示滚动条.
到目前为止它工作正常.它显示垂直滚动条,但它也包括GridViewColoumn的标题.看起来很奇怪.
那么如何只显示内容的垂直滚动条,而不是标题?
任何想法都会有所帮助.
我知道对于C#中的Console/Windows应用程序,"Main"方法是运行应用程序的入口点.
如果我们的应用程序中有数百个类,运行时将如何检测哪个类包含运行应用程序的"Main"方法?
MyObject obj = new MyObject();
Run Code Online (Sandbox Code Playgroud)
我知道'new'关键字将调用构造函数并初始化托管堆中的对象.
我的问题是CLR如何做到以下.
我有一个应用程序,我使用XPathNavigator迭代节点.它工作正常.
但我想知道如果我使用LINQ to Xml ....
我会得到什么好处(性能,可维护性)?
有了XPath,LINQ到Xml的性能如何?
我正在使用C#.net,VS 2010,我的.xml是中等大小.
当我用谷歌搜索有关界面的相关主题时,我从MSDN网站上找到了这个:
例如,接口可能声明具有get访问器的属性.实现接口的类可以使用get和set访问器声明相同的属性. 来自MSDN
现在我有一个疑问.当我们特别提到该属性应该只读时(在接口中只有'get'访问者)为什么它也允许实现'set'访问器?
我对.Net中的Dispose和Finalize方法有如下想法。如果我错了,请纠正我。
Dispose:实现IDisposable接口,并在Dispose方法中删除未使用/不受管理的代码。如果开发人员要立即删除,则开发人员需要手动调用它,否则GC将在调用资源时对其进行处置。
Finalize:GC调用时将释放未使用的托管代码,如果实现了IDisposable,则将调用Dispose方法释放非托管资源(通常)。
问题是:当我们使用Dispose方法处置资源时,内存将立即释放并压缩(就像GC一样)吗?
通常,所有引用类型在没有引用时都是垃圾回收.枚举变量怎么样?它是否会被垃圾收集,即使它超出范围(意味着它没有被引用更多)?
c# ×7
wpf ×4
.net ×3
interface ×2
.net-4.0 ×1
access-keys ×1
clr ×1
data-binding ×1
datatemplate ×1
enums ×1
finalizer ×1
idisposable ×1
linq-to-xml ×1
listview ×1
wpf-controls ×1
xml ×1
xmldocument ×1
xpath ×1