我想知道哪个语句在Performance Point of View中是否有用
Object.GetType() == typeof(Type)
Run Code Online (Sandbox Code Playgroud)
要么
Object is Type
Run Code Online (Sandbox Code Playgroud) 是FindAncestor搜索在窗口的整体视觉树中的元素?
如果是,那么我该如何改进呢?
是binding data error,如果我们通过寻找与查找祖先与没有这样的元素存在的元素来访问对象的属性抛出?
如果是,那么我该如何解决这样的错误.
在我的情况下绑定错误抛出输出窗口.为了解决这个错误,我尝试了设置FallbackValue,但现在它给了我警告而不是错误,这是唯一的区别.其他一切都和错误一样.
谁能告诉我究竟是如何FindAncestor运作的?
如果我在内部包含外部引用,where predicate则内存不会获得释放.
List<object>如果我写where predicate这样的话,我想说我有一个:
List<object> myList = new List<object>();
...
myList.add(object);
...
Expression<Func<object,bool>> predicate = p => myList.Contains(p);
Run Code Online (Sandbox Code Playgroud)
即使我做了myList = null或者predicate = null,它也没有释放记忆.
我已经List<object> itemsource绑定了DataGrid.我也使它的ItemSource为null,处理DataGrid,DataGrid为null..我还用ANTS Memory Profiler 7.4分析了这个问题.它也告诉我,因为wherepredicate它是持有参考.
如果我改变我wherepredicate像这样dispose(),那么内存得到释放.
Expression<Func<object,bool>> predicate = p => p.id == 0;
Run Code Online (Sandbox Code Playgroud)
这意味着删除参考WherePredicate.
假设,我有一个Nullable Integer's&我想要将此列表转换为List<int>仅包含值的列表.
你能帮我解决一下吗?
我不能够使用Any()的XmlNodeList.我也使用了System.Linq和System.Xml.Linq命名空间.但我仍然没有找到任何这样的扩展方法XmlNodeList.
我该怎么用?
我开发了WPF应用程序。我在其中添加了很多重控制。但现在我正在努力提高应用程序的性能。我分析了一下,发现有很多Binding Data Error's运行在Output Window.
那么,这些错误对应用程序性能的影响也会一样大吗?
如何从任何LayoutControl的Children中获取ItemAdded,ItemRemoved通知?
假设我们有Grid控制权.如果我TextBlock在Grid中添加新控件,那么它应该通过添加的项目通知我.如果删除,那么它应该通知我已经从中移除的项目Children's (UIElementCollection),例如ObservableCollection.
这有可能吗?
他们有什么办法可以从哈希码中获取对象吗???
实际上问题是我在我们的应用程序中发现了一些绑定警告,并且每个警告都有相同的源哈希代码。我尝试通过源名称和目标名称进行搜索,但没有找到这样的东西。
所以请帮我找到实际绑定警告即将到来的对象或样式或控制模板?或者帮助我通过其哈希代码找到警告即将到来的对象。
以下绑定警告即将到来。
System.Windows.Media.Animation Warning: 6 : Unable to perform action because the specified Storyboard was never applied to this object for interactive control.; Action='SkipToFill'; Storyboard='System.Windows.Media.Animation.Storyboard'; Storyboard.HashCode='33003048'; Storyboard.Type='System.Windows.Media.Animation.Storyboard'; TargetElement='DevExpress.Xpf.Editors.ErrorControl: DevExpress.Xpf.Grid.GridCellValidationError'; TargetElement.HashCode='56844144'; TargetElement.Type='DevExpress.Xpf.Editors.ErrorControl'
System.Windows.Media.Animation Warning: 6 : Unable to perform action because the specified Storyboard was never applied to this object for interactive control.; Action='SkipToFill'; Storyboard='System.Windows.Media.Animation.Storyboard'; Storyboard.HashCode='33003048'; Storyboard.Type='System.Windows.Media.Animation.Storyboard'; TargetElement='DevExpress.Xpf.Editors.ErrorControl: DevExpress.Xpf.Grid.GridCellValidationError'; TargetElement.HashCode='64558826'; TargetElement.Type='DevExpress.Xpf.Editors.ErrorControl'
System.Windows.Media.Animation Warning: 6 : Unable to perform action because the specified Storyboard was never applied to this object …Run Code Online (Sandbox Code Playgroud) 哪个在c#中也更快
int a = 10;
bool _IsEven;
if(a%2 == 0)
{
_IsEven = true;
}
else
{
_IsEven = false;
}
Run Code Online (Sandbox Code Playgroud)
要么
int a = 10;
bool _IsEven = a%2 == 0 ? true : false;
Run Code Online (Sandbox Code Playgroud)
UPDATE
我知道在这里我可以优化我的代码
bool _IsEven = a%2 == 0;
Run Code Online (Sandbox Code Playgroud)
但我的问题不是关于代码优化,而是关于这两个语句的性能?
你能帮助我提高我的编码知识吗?
c# ×8
wpf ×4
binding ×3
performance ×3
children ×1
datagrid ×1
findancestor ×1
hashcode ×1
if-statement ×1
int ×1
layout ×1
linq ×1
memory ×1
nullable ×1
storyboard ×1
types ×1
xml ×1