小编Alf*_*ers的帖子

我是否应该从这种方法中抛出异常?

我正在一个方法中执行一些参数验证,并在必要时抛出异常.我是否需要手动抛出这种类型的异常?只要调用者被包装在try..catch块中,无论手动检查是否到位,都会抛出类似的异常.

    public static Int16 ToInt16(this byte[] value, int startIndex, bool isBigEndian) {

        // are these exceptions necessary?
        if (value == null) {
            throw new ArgumentNullException("value");
        }

        if ((startIndex + 1) >= value.Length) {
            throw new ArgumentOutOfRangeException("startIndex");
        }    

        return (isBigEndian)
            ? (Int16)((value[startIndex] << 8) | value[startIndex + 1])
            : (Int16)((value[startIndex + 1] << 8) | value[startIndex]);
    }
Run Code Online (Sandbox Code Playgroud)

这是一种扩展方法,用于将数组中的2个字节转换为Int16,以便切换Big Endian或Little Endian转换.

.net c# extension-methods exception

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

C#opc-client .net api

我正在使用opc基础的.NET API编写opc客户端.

在样本中我只看到,项目的名称是硬编码的,如:

items[0] = new Opc.Da.Item();
items[0].ItemName = "blahblahblah";
Run Code Online (Sandbox Code Playgroud)

我想要的不是用手写下所有物品的名字.我想从服务器加载所有项目,例如树.我该怎么做?

c# opc

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

Exchange Server 2007 Web服务PHP类

有没有人知道将通过MS Exchange Server 2007 Web服务连接的开源PHP类(最好是BSD或MIT许可证).肥皂?

我正在寻找一个更高级别的类,它具有通过发送消息的功能.网络服务.

php exchange-server exchange-server-2007 exchangewebservices

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

如何从.NET重新启动远程服务器上的COM +应用程序?

如何以编程方式从.NET中的代码重新启动远程服务器上运行的COM +应用程序?

.net com comadmin

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

从byte []转换为string

我有以下代码:

using (BinaryReader br = new BinaryReader(
       File.Open(FILE_PATH, FileMode.Open, FileAccess.ReadWrite)))
{
    int pos = 0;
    int length = (int) br.BaseStream.Length;

    while (pos < length)
    {
        b[pos] = br.ReadByte();
        pos++;
    }

    pos = 0;
    while (pos < length)
    {
        Console.WriteLine(Convert.ToString(b[pos]));
        pos++;
    }
}
Run Code Online (Sandbox Code Playgroud)

FILE_PATH是一个const字符串,包含要读取的二进制文件的路径.二进制文件是整数和字符的混合.整数是每个1个字节,每个字符作为2个字节写入文件.

例如,该文件包含以下数据:

1HELLO你是如何看待你的//等等

请注意:每个整数都与其后面的字符串相关联.所以1与"HELLO HOW ARE YOU"有关,45与"你在寻找伟大"等等有关.

现在写二进制文件(我不知道为什么,但我必须忍受这个),这样"1"只需要1个字节,而"H"(和其他字符)每个需要2个字节.

所以这是文件实际包含的内容:

0100480045 ......依此类推:

01是整数1的第一个字节0048是'H'的2个字节(H是十六进制的48)0045是'E'的2个字节(E = 0x45)

我希望我的控制台能够从这个文件中打印出人类可读的格式:我希望它打印出"1你好如何",然后"45你看起来很棒"等等......

我正在做的是正确的吗?有更简单/有效的方法吗?我的行Console.WriteLine(Convert.ToString(b [pos])); 什么都不做,但打印整数值,而不是我想要的实际字符.对于文件中的整数是可以的,但是如何读出字符呢?

任何帮助将非常感激.谢谢

c# binaryreader

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

什么是最快的通用集合?

我有以下场景.我有两个集合,其中一个缺少一些项目.什么样的集合类型最快找到丢失的项目并插入它们?

.net c# generics collections

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

Microsoft Exchange WebService URL

如何知道Exchange WebService URL,我有Exchange服务器版本2007,我正在尝试编写一个小型C#控制台应用程序来从Exchange服务器收集一些数据,但不知道什么是Exchange.WebServices Url.AutodiscoverUrl失败.

c# exchange-server-2007 exchangewebservices

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

通过C#执行imagecgick转换

当我在Windows中打开命令窗口并使用imagemagick convert命令时:

转换/somedir/Garden.jpg /somedir/Garden.png

它按预期工作.

我要做的是使用C#执行与上面相同的命令.

我尝试使用System.Diagnostics.Process,但是没有创建foo.png.

我正在使用此代码:

      var proc = new Process
      {
          StartInfo =
          {
              Arguments = string.Format("{0}Garden.jpg {1}Garden.png",
              TEST_FILE_DIR,
              TEST_FILE_DIR),
              FileName = @"C:\xampp\ImageMagick-6.5.4-Q16\convert",
              UseShellExecute = false,
              CreateNoWindow = true,
              RedirectStandardOutput = false,
              RedirectStandardError = false
          }
      };

      proc.Start();
Run Code Online (Sandbox Code Playgroud)

没有异常被抛出,但也没有写.png.

c# imagemagick

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

格式化我的字符串

如何格式化这样的字符串:

string X = "'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}'",????
Run Code Online (Sandbox Code Playgroud)

我记得我以前能够在末尾添加一个逗号,并指定要分配给{0},{1}等的实际数据.

有帮助吗?

.net c# asp.net string-formatting

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

更正字符串中的字符?

我需要纠正字符串中不需要的字符.不需要的人物

"c"而不是"ç""i"而不是"ı""u"而不是"ü""g"而不是"ğ""o"而不是"ö""s"而不是"ş"

我写过这个方法.但它不起作用.

public string UrlCorrection(string text)
    {
        text = (text.ToLower()).Trim();
        var length = text.Length;
        char chr;
        string newtext="";
        for (int i = 0; i < length; i++)
        {
            chr = text[i];
            switch (chr)
            {
                case 'ç':
                    newtext = text.Replace("ç", "c");
                    break;
                case '?':
                    newtext = text.Replace("?", "i");
                    break;
                case 'ü':
                    newtext = text.Replace("ü", "u");
                    break;
                case '?':
                    newtext = text.Replace("?", "g");
                    break;
                case 'ö':
                    newtext = text.Replace("ö", "o");
                    break;
                case '?':
                    newtext = text.Replace("?", "s");
                    break;
                default:
                    break;
            } …
Run Code Online (Sandbox Code Playgroud)

c# char

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