小编Gag*_*age的帖子

何时使用Cast或Convert

我很想知道与使用Convert.toInt32()相比,演员之间的区别是什么.使用一个可以获得某种性能提升吗?

还应该使用哪些情况.目前我更倾向于使用转换,但我没有理由去任何一种方式.在我看来,我看到他们都实现了同一个目标.

c# casting

75
推荐指数
4
解决办法
4万
查看次数

哪个更好用数组或List <>?

我想知道哪种类型会有更好的性能以及您认为应该使用哪种类型.

例如,我有一个字符串列表,不知道我需要多少项,因此.Add(String)函数非常方便.我可以随时轻松地将新字符串添加到列表中.

使用每个的优点/缺点是什么?

列出新阵列?

.net c# collections performance

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

在.NET中存储字符串对,制作对象或使用类的最佳方法是什么?

不知道我是否有"厚厚的一天" - 但我只是想知道这里最好的路线是什么.

语境:

我有一个字段列表,我想用它们存储别名(我使用的是.NET 2.0 BTW),例如

在此输入图像描述

所以它本质上是一对字符串:

参考,参考

社区,社区

邮编:POST_CODE

...而且我认为为这样的事情继续创建对象似乎太过分了,所以我应该创建一个StringDictionary并以这种方式存储值,即使我不使用StringDictionary类的任何功能我并不担心键值对关联等问题 - 我只是想保留一对字符串.

任何帮助/指针都会很棒.

c# string collections .net-2.0

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

LINQ比较两个列表 - 添加新列表,删除旧列表,保留相同的列表

我有一个对象A的两个列表(L1,L2),L1用于在更改之前存储对象列表(多对多关系).L2是改变后的关系.我需要保留常用元素,但添加新元素并删除不在L2中的元素.我想知道是否有一个内衬我可以用LINQ来完成这个.如果您需要更多信息,请告诉我.

提前致谢

c# linq list

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

该程序集不允许部分信任的调用者.的InitializeComponent()

场景:我正在重构我们的一个应用程序以使用Nhibernate,并在几周之前遇到了这个问题.这个问题最初是与Nhibernate和Castle一起解决的,所以他们都重新编译了[assembly: AllowPartiallyTrustedCallers].但是,在对UI和代码库进行一些更改后,此错误再次出现.另外值得注意的是,我从Form_Main以编程方式控制加载我的用户控件.

问题:每当生成用户控件时,我都会收到以下错误.如果我注释掉加载,程序将运行.当我调试它结束于自动生成的InitializeComponent()函数.请注意,我无法进入该功能.

System.Security.SecurityException was unhandled
      Message="That assembly does not allow partially trusted callers."
      Source="A"
      GrantedSet=""
      PermissionState=""
      RefusedSet=""
      Url="file:///C:/Documents and Settings/ID/Desktop/A-NHIB2/bin/Debug/A.EXE"
      StackTrace:
           at A.UserControlCyber.InitializeComponent()
           at A.UserControlCyber..ctor() in C:\Documents and Settings\ID\Desktop\A-NHIB2\UserControl_Cyber.cs:line 34
           at A.FormMain.FormMainLoad(Object sender, EventArgs e) in C:\Documents and Settings\ID\Desktop\A-NHIB2\Form_Main.cs:line 30
           at System.Windows.Forms.Form.OnLoad(EventArgs e)
           at System.Windows.Forms.Form.OnCreateControl()
           at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
           at System.Windows.Forms.Control.CreateControl()
           at System.Windows.Forms.Control.WmShowWindow(Message& m)
           at System.Windows.Forms.Control.WndProc(Message& m)
           at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
           at System.Windows.Forms.ContainerControl.WndProc(Message& m)
           at System.Windows.Forms.Form.WmShowWindow(Message& m)
           at System.Windows.Forms.Form.WndProc(Message& m)
           at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
           at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
           at …
Run Code Online (Sandbox Code Playgroud)

c# initializecomponent partial-trust .net-3.5

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

List <int>需要很长时间才能使用Nhibernate Criteria进行实例化

我有这个查询返回7行,在数据库中需要4毫秒,但实例化1075毫秒.这只是时代的一个例子,它在物体上有所不同,但它似乎没有意义,它花了这么长时间.有关如何提高速度的任何指示?

var criteria =
                GetSession().CreateSQLQuery(
                    @"
                    select circt_id as CircuitId from normal_upstream
                        where dni_equip_type = 'A'

                        start with up_equip_stn_no in (:UpStationNo1)
                        connect by prior equip_stn_no = up_equip_stn_no
                        union
                        select circt_id as CircuitId
                        from normal_upstream 
                        where up_equip_stn_no in (:UpStationNo1)")
                    .AddScalar("CircuitId", NHibernateUtil.Int32).SetParameterList("UpStationNo1",upstreamStations)
                    .List<int>()
Run Code Online (Sandbox Code Playgroud)

SQL Query生成

   select
     circt_id as CircuitId 
from normal_upstream

where dni_equip_type = 'A'

                            start with up_equip_stn_no in (
    'B' /* :p0 */)
                        connect by prior equip_stn_no = up_equip_stn_no
                        union
                        select
 circt_id as CircuitId
                        from normal_upstream       
where up_equip_stn_no in (
    'B' …
Run Code Online (Sandbox Code Playgroud)

c# nhibernate criteria list

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

在vb.net中的数字上使用感叹号(!)运算符,这有什么作用?

我正在查看继承的代码,我在vb.net窗体中找到了这个:

New System.Drawing.SizeF(6.0!, 13.0!)
Run Code Online (Sandbox Code Playgroud)

我的问题是,!(感叹号)运算符在这里有什么意义?我搜索感叹号操作符的大多数!都会返回记录集格式或者在搜索中被忽略,我得到数百个不相关的项目.

vb.net

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

具有相同标识符的不同对象已与会话错误相关联

场景:我有一个启用了延迟加载的客户对象.我在整个程序中使用它来调用列表框的客户列表.它与Division_Customer_Rel,Division_Email_Rel和Email_Address对象有关系.所有关系都有Lazy = true, Cascade = ManyRelationCascadeEnum.AllDeleteOrphan, Inverse = true.

问题:当我使用新会话并尝试保存时,会给我错误A different object with same identifier was already associated with the session.我试图通过加入调用中的其他对象来使用LINQ返回列表而不使用新会话,但我不确定如何在加入时使用ActiveRecordLinq <>.

private Customer GetCustomer()
    {
       return (from x in ActiveRecordLinq.AsQueryable<Customer>()
         where x.Customer_ID == ((Customer)lst_customers.SelectedItem).Customer_ID 
         select x).First();
    }
Run Code Online (Sandbox Code Playgroud)

产生错误的代码

using (new SessionScope())
                {
                //var sess = GetSession();
                //var customer =
                //    sess.CreateCriteria<Customer>("c").CreateCriteria("c.DivisionCustomer_Rels").List<Customer>().
                //        First();
                var customer = GetCustomer();
                    /* Ensure user wishes to commit the data. */

                    var result =
                        MessageBox.Show(
                            @"You are about …
Run Code Online (Sandbox Code Playgroud)

c# nhibernate join castle-activerecord linq-to-nhibernate

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

Nhibernate C#应用程序在网络驱动器上的应用程序信任级别

场景:我有一个C#应用程序,它使用Click-Once在网络上的计算机上安装(在桌面上放置一个指向应用程序的图标).我最近一直在将NHibernate集成到程序中,一切都在我的盒子上顺利运行.它已准备好进行内部测试,我需要将它放在我们的网络共享上(与生产相同的共享,不同的文件夹).

问题:当我将它放在网络共享上并运行它时,我收到一条错误消息,指出应用程序无法以部分信任方式运行.

问题:我已经搜索到了这一点,并且每个解决方案似乎都在谈论体验这一点的Web应用程序.无论如何我可以将应用程序设置为在网络共享上以完全信任模式运行.将文件夹/ exe设置为完全信任?这只是在我的应用程序属性的安全选项卡中允许"完全控制"吗?

这是我在运行应用程序时收到的错误 替代文字

感谢您的任何意见

c# nhibernate activerecord full-trust .net-3.5

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

Windows 窗体标签页加载缓慢

我有一个有 4 个标签页的标签控件。每个标签页都包含一个用户控件,我在程序首次加载时以编程方式添加该控件。出于某种原因,当我点击第二个标签页时,它的加载速度很慢,但其他标签页加载得很好。这个标签页确实包含大约 20 个控件(文本框、下拉列表、列表框等),但没有图像或类似的东西。此外,该页面的控件数量与其他页面大致相同。有什么办法可以加快标签的切换吗?我可以在启动时预加载标签页吗?

注意:仅在初始切换时较慢。

这就是我添加用户控件的方式

tabPage2.Controls.Add(userControl_1);
        // 
        // userControl_1
        // 
        userControl_1.Anchor = ((AnchorStyles.Top | AnchorStyles.Bottom)
                                  | AnchorStyles.Left)
                                 | AnchorStyles.Right;
        userControl_1.Location = new System.Drawing.Point(0, 0);
        userControl_1.Name = "userControl_1";
        userControl_1.Size = new System.Drawing.Size(878, 646);
        userControl_1.TabIndex = 0;
Run Code Online (Sandbox Code Playgroud)

c# performance tabpage winforms

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