问题列表 - 第5198页

序列化字节数组与XML文件

我大量使用字节数组来传输对象,原始数据,通过网络和返回.我通过一个类型实现ISerializable来适应java的方法,它包含两个方法,作为接口的一部分,ReadObjectData和WriteObjectData.使用此接口的任何类都会将日期写入字节数组.像那样的东西

  class SerializationType:ISerializable
    {
       void ReadObjectData (/*Type that manages the write/reads into the byte array*/){}
       void WriteObjectData(/*Type that manages the write/reads into the byte array*/){}  
    }
Run Code Online (Sandbox Code Playgroud)

写完所有对象后,我发送一个网络数组.


这实际上是双重问题.这是通过网络以最高效率(速度,大小)发送数据的正确方法吗?

您是否会使用此方法将对象写入文件,而不是通常使用xml序列化?

编辑#1

Joel Coehoorn提到了BinaryFormatter.我从未使用过这门课.除了我目前在msdn上看到的内容之外,你会详细说明,提供好的例子,参考资料,建议,当前的做法吗?

.net c# file-io networking

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

在Windows窗体中处理时更新标签

在处理时更新Windows窗体应用程序上的标签的最佳方法是什么?

当用户单击按钮时,我有一个循环对用户系统上的文件进行一些处理.

foreach (System.IO.FileInfo f in dir.GetFiles("*.txt"))
{
   // Do processing
   // Show progress bar
   // Update Label on Form, "f.Name is done processing, now processing..."
}
Run Code Online (Sandbox Code Playgroud)

一些示例代码是什么?

究竟是什么叫做?它是线程还是代理?

label progress winforms

32
推荐指数
3
解决办法
7万
查看次数

在不使用Windows窗体中的事件的情况下按下检测Shift键?

我需要能够检测到shift键被保持,但我不想使用事件或全局变量来确定它.C#中是否有API可以让您询问当前按下的键而不是使用该事件?

c#

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

将<T>传递给调用GetEnum <T>的方法

我正在使用一个具有返回对象的API IEnumerable<T>,所以类似于 Object.GetEnum<T>.

我有一个方法,在其中将调用GetEnum但我想添加方法的参数传递参数类型的能力.所以我想这样做:

private void myMethod(apiClass???  apiclass)  
{
IEnumerable< itemType > enumX = ObjectGetEnum< itemType >
}
private void Main()
{
    myMethod(apiClass1);
    myMethod(apiClass2);
}
Run Code Online (Sandbox Code Playgroud)

如上所述,我不知道myMethod中的参数类型应该是什么,或者如何编写获取枚举器的代码.我尝试传递"apiClass",即apiClass1和apiClass2继承的类.但后来却被困在那里做什么......而且我认为无论如何都不会真的有效.

所以我不确定我是否只是不知道在C#中如何做到这一点,或者如果它是可能的,...... 或者我可能在API中遗漏了某些东西(或者API缺少一些东西来促进这一点).

谢谢FKC

c# ienumerable

0
推荐指数
1
解决办法
140
查看次数

用鼠标移动PictureBox

我正在为Windows Mobile开发一个应用程序(Compact Framework 2.0).它有一个带有PictureBox的WinForms.

我想移动PictureBox的图像,但我不知道该怎么做,所以我选择移动孔PictureBox.

为此,我使用此事件:

private void imagenMapa_MouseMove(object sender, MouseEventArgs e)
{
      imagenMapa.Left = e.X;
      imagenMapa.Top = e.Y;
      this.Refresh();
}
Run Code Online (Sandbox Code Playgroud)

但是当我移动PictureBox时,它会闪烁并移动到每个地方.

我做错了什么?

c# onmousemove picturebox winforms

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

32位进程可以在64位Windows操作系统上访问更多内存吗?

根据我的理解,32位进程只能在没有/ 3GB开关的情况下在32位窗口上访问2GB内存,并且操作系统会根据自己的恶魔原因占用一些内存.这似乎与我的经验相吻合,因为我们有一个应用程序崩溃,当它达到大约1.2-1.5 GB的内存异常时,即使仍然有足够的可用内存.

我的问题是,将这个32位应用程序移动到64位窗口是否允许它现在可以访问超过1.5GB左右的内存?或者应用程序本身是否必须升级到64位?

windows 64-bit x86 process

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

检测Python模块何时卸载

我有一个模块,它使用ctypes将一些功能从静态库包装到一个类中.模块加载时,它会调用静态库中的初始化函数.卸载模块时(可能是解释器退出时),库中有一个我想要调用的卸载函数.我该如何创建这个钩子?

python

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

Javascript无法按名称找到Div Element

这段代码昨天让我感到惊讶,我很好奇发生了什么事.

如果我在表单的页面上引用我知道的Div元素,即使使用getElementsByName复制/粘贴确切的名称,以下内容也无法找到它.

var coll = document.getElementsByName("txtState"); //coll will be null
Run Code Online (Sandbox Code Playgroud)

如果我得到页面上的所有Div标签并遍历它们查看name属性,我可以找到正确的Div元素.

var coll = document.getElementsByTagName("Div");
for (var i = 0; i < coll.length; i++) {
    var el= coll[i];
    if (el.name != null) {
        if (el.name.length > 0) {
            if (el.name == "txtState") {
                alert("Found");
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

那么这是什么一回事?为什么Javascript无视获取特定元素?为什么我必须遍历集合?

html javascript

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

HTML选择框的高度(下拉列表)

有人可以确认其能够改变,当你点击一个选择框,显示一个下拉的高度.

select的size属性使它看起来像一个列表,CSS中的height属性也不会很好.

html html-select

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

如何将Groovy String集合转换为Java String Array?

我试图从Groovy类中调用Java类的方法.Java方法有一个String数组作为参数,我的Groovy类中有一个字符串集合.如何将Groovy集合转换为Java String数组?

Java方法:

public class SomeJavaClass{
  public void helpDoSomething(String[] stuff){

  }
}
Run Code Online (Sandbox Code Playgroud)

Groovy代码

class SomeGroovyClass {
  def data = ["a", "b", "c"]

  def doSomething = {
    def javaClass = new SomeJavaClass()
    javaClass(data) //Groovy passes ArrayList, Java class expects String[] ???
  }
}
Run Code Online (Sandbox Code Playgroud)

collections groovy

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