小编Dot*_*NET的帖子

树如何存储在数据库中?

如果要使用像C#这样的4GL实现树,并将其存储在数据库(如SQL Server 2008)中,那么架构/设计会是什么样子?

换句话说,数据库在这样的实现中扮演什么角色?

c# sql database database-design

7
推荐指数
1
解决办法
1263
查看次数

最快的数据结构,用于检查对象列表中的属性是否匹配

我有一个存储许多对象的列表.每个对象都有一个变量形式的属性.

我希望能够检查此列表中的任何项目是否包含某个属性.类似于Dictionary的ContainsKey方法.这种数据结构要保存极大量的值,甚至可能是数百万,因此我希望使用能够尽快检查属性的数据结构.

字典是这项工作最快的,还是更快的数据结构?

编辑:

这是我想要实现的一个快速,小例子:

Dictionary<string, Person> persons = new Dictionary<string, Person>(); //where string contains the Person's name

bool isPresent = persons.ContainsKey("Matt");
Run Code Online (Sandbox Code Playgroud)

.net c# dictionary hashset data-structures

7
推荐指数
1
解决办法
1982
查看次数

TreeView/TreeViewItem ControlTemplates用虚线表示

这似乎应该有这样一个简单的解决方案,但显然它没有.

我搜索的范围很广,显然似乎没有办法添加虚线来连接a中的节点,这TreeView与WinForms等价物不同.

我在网上找到了很多人,他们已经将ControlTemplate改为具有连接线的ControlTemplate.但是,在阅读评论和讨论时,他们似乎都有问题.

我如何改变ControlTemplate来实现这一目标?

.net c# wpf xaml mvvm

7
推荐指数
1
解决办法
2665
查看次数

插入多行的最快方法

我有一个DataTable包含数十万行的.在我的程序过程中,我向这个DataTable添加了几千行,这些行也需要添加到数据库中.我想尽快插入它们,而不是为每条记录创建一个INSERT语句.MySQL LOAD INTO命令不合适,因为我不想涉及任何外部CSV文件.

到目前为止我所做的是使用a MySqlDataAdapter并仅使用插入更改调用'Update'方法,如下所示:

MySqlCommandBuilder commandBuilder = new MySqlCommandBuilder(adapter);
adapter.InsertCommand = commandBuilder.GetInsertCommand();
adapter.Update(myDataTable);
Run Code Online (Sandbox Code Playgroud)

这也运行缓慢,所以我怀疑它们也是一次插入一行.我有什么选择?构建一个包含其中所有值的长INSERT语句,唯一的方法是什么?

.net c# mysql sql database

7
推荐指数
2
解决办法
2455
查看次数

如何在文件中找到单词的位置?

例如,我有文件和单词"测试".文件是部分二进制文件,但有字符串"test".如何在没有加载的文件中找到文字(索引)的位置来存储这个文件?

python

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

如何判断日期是否在Java之前的某个时间之前?

例如,给定一个java.util.Date,如何测试时间是否在当天下午12:30之前?

java

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

无法在datagridview单元格中显示完整图像

我有数据网格视图,其中包含列产品名称和产品图像,我正在填充来自数据库的这些值...

我正在使用winforms桌面应用程序.....

我的问题是我无法正确显示datagridview单元格中的图像..请参见下图总网格视图图像

我想在该列中的每个单元格的实际产品图像列中显示此图像 实际图像需要在每一行显示

通过使用datalist控件,这个任务在webforms中非常简单,但我不知道如何在网格视图单元格中显示完整图像

任何人都可以帮助....

非常感谢.......

这是我通过使用linq查询绑定datagridview的地方..

      private void EquipmentFinder_Load(object sender, EventArgs e)
     {

        var products = from prods in abc.products
                       select new
                       {
                           productid = prods.product_Id,   //0                            
                           productname =  prods.product_Name, //1
                           productimage = prods.product_Image, //2
                           productprice = prods.product_Price,//3
                           productdescr = prods.product_Description, //4

                       };
        productbindingsource.DataSource = products;
        productgridview.DataSource = productbindingsource;
        productgridview.Columns[0].Visible = false;
        productgridview.Columns[3].Visible = false;
        productgridview.Columns[4].Visible = false;
    }
Run Code Online (Sandbox Code Playgroud)

.net c# datagridview image

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

多态性/重写

有人可以解释这两个例子之间的区别吗?

A级

protected virtual string GetData()

B级

private override string GetData()

以下内容:

A级

protected string GetData()

B级

private string GetData()

假设'B类'继承自'A类'.

我总是假设您需要virtual在超类和override子类中使用,如果您想要覆盖一个方法,但是我尝试删除关键字并编译好的程序.究竟有什么区别,如果有的话?

.net c# oop polymorphism inheritance

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

单击绘制的对象

我有一个叫做Shape继承自JPanel的类.

许多子类反过来扩展Shape类,每种类型的形状一个.

每个形状都有自己的覆盖paint()方法,它绘制相应的形状.

我希望能够点击任何形状,我现在正试图实现这个逻辑.请注意,每个形状都已添加到arrayList中.

但是,即使我在形状内部明确单击,contains语句也始终返回false.

有任何想法吗?

java graphics events swing java-ee

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

在 WPF 中拖放

我的 WPF 应用程序中有一个TreeViewand Canvas。我正在尝试实现用户可以拖动 TreeViewItem 的功能,并且当用户放在画布上时应该调用一个方法,将 TreeViewItem 标头作为参数传递给该方法。

这是我到目前为止所做的:

private void TreeViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
     if (e.Source.GetType().Name.Equals("TreeViewItem"))
     {
         TreeViewItem item = (TreeViewItem)e.Source;

         if (item != null)
         {
              DataObject dataObject = new DataObject();
              dataObject.SetData(DataFormats.StringFormat, item.Header.ToString());
              DragDrop.DoDragDrop(item, dataObject, DragDropEffects.Copy);
         }
     }
 }
Run Code Online (Sandbox Code Playgroud)

当我拖放到画布上时,什么也没有发生。因此,我不确定接下来应该做什么。我觉得它真的很小,但我不知所措。如何调用该方法并检测标头是否已删除?

有任何想法吗?

.net c# wpf events drag-and-drop

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