问题列表 - 第21475页

一种干净的方式来转换为对象的实际类型

我正在做的是查找哈希表中特定字段的值.该对象可以是少数原始类型,它们的值注定要放在XML中,但它来自哈希表作为对象.所以我有需要决定类型是什么的问题,将其抛出然后使用ToString类型.如果我不需要强制转换它会很好但是它会在对象类型上调用ToString而不是在实际类型上调用对应方法.

以下代码在功能上是正确的,但我对它不满意.也许遵循这条舒适的道路将导致我成为一个纯粹主义者.无论哪种方式,我都非常欣赏一种更好的方法来写这个如果存在的话.

public string GetColumnValue(string columnName)
        {
            object value = item[columnName];

            if (value == null)
                return string.Empty;

            if (value.GetType() == typeof(string))
            {
                return (string)value;
            }
            else if (value.GetType() == typeof(double))
            {
                return ((double)value).ToString();
            }
            ...
        }
Run Code Online (Sandbox Code Playgroud)

c# sharepoint casting

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

使用C#中的.Pem/.Pkcs8密钥文件中的MD5WithRSA对数据进行签名

我在Java中有以下代码示例,我需要在C#中重新编写它:

PKCS8EncodedKeySpec privKeySpec = new PKCS8EncodedKeySpec(pkcs8PrivateKey);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PrivateKey privKey = keyFactory.generatePrivate(privKeySpec);
Signature sign = Signature.getInstance("MD5withRSA");

sign.initSign(privKey);
sign.update(data);
byte[] signature = sign.sign();
Run Code Online (Sandbox Code Playgroud)

是否可以使用标准的.Net Crypto API,还是应该使用BouncyCastle?谢谢,

c# security encryption cryptography

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

如何使用vararg案例类进行模式匹配?

我有一组像这样的案例类

abstract class Shape  
case class Rectangle(width: Int, height: Int) extends Shape  
case class Location(x: Int, y: Int, shape: Shape) extends Shape  
case class Circle(radius: Int) extends Shape  
case class Group(shape: Shape*) extends Shape
Run Code Online (Sandbox Code Playgroud)

其中基本上Group是一个形状数组.我需要定义一个大小方法来计算矩形,圆形和位置的大小,它直接只返回一个.但我对集团有困难.

object size extends Shape{  
  def size(s: Any) : Int = s match {  
    case Rectangle(x,y) => 1  
    case Group  // how to do it? Also having case Group(shape : Shape*) gives an error  
    case Circle(r) => 1    
    case Location(x,y,shape) => 1   
  }  
}  
Run Code Online (Sandbox Code Playgroud)

我知道对于Group我需要使用map并向左折叠,但我真的无法为它创建逻辑.谢谢

functional-programming scala pattern-matching

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

system()函数找不到可执行文件的可能原因是什么?

  if( system("tail -500 log.txt") == -1)
  {
      //Error calling tail.exe on log 
      //errno is a system macro that expands int returning
      //the last error. strerror() converts the error to it's
      //corresponding error message. 
      printf("Error calling tail.exe with system(): %s",strerror( errno ));

  }
Run Code Online (Sandbox Code Playgroud)

System()使用log.txt调用Tail.exe
All与调用它的可执行文件位于同一目录中.
获取错误ENOENT-没有这样的文件或目录
另外,指定所有内容的路径,相同的错误.

任何建议表示赞赏,谢谢.

c c++ windows winapi

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

Win32 API计时器

我正在使用系统定时器(clock()函数,请参阅time.h)来计算一些串行和USB通信.我需要的只有大约1毫米的准备.我注意到的第一件事是个别时间可以超出(加或减)10毫秒.随着事件的发生,对一些较小的事件进行定时导致时间不准确.总体时间略好一些.在MSDN上有点根后,我偶然发现了Windows多媒体库中的计时器(timeGetTime(),参见MMSystem.h).这对于1ms级别来说具有良好的准确性要好得多.

然后发生了奇怪的事情,经过几天完美无瑕的工作(可爱的日志和有用的时间)这一切都变成了梨形,因为这个API也开始显示这种奇怪的粒度(而不是一堆小通信消息需要3ms,2ms,3ms,2ms,3ms等它出现了0ms,0ms,0ms,0ms,15ms等.重新启动PC恢复了正常的准确性,但在一些不确定的时间(一小时左右之后),anomoly返回.

任何人都对如何在Windows XP(32位Pro,使用Visual Studio 2008)上获得这种级别的计时准确性有任何想法或建议.

我的小时间班:

class TMMTimer
{
public:
    TMMTimer( unsigned long msec);
    TMMTimer();

    void Clear() { is_set = false; }
    void Set( unsigned long msec=0);

    bool Expired();
    unsigned long Elapsed();

private:
    unsigned long when;
    int roll_over;
    bool is_set;
};



/** Main constructor.
 */
TMMTimer::TMMTimer()
{
    is_set = false;
}




/** Main constructor.
 */
TMMTimer::TMMTimer( unsigned long msec)
{
    Set( msec);
}




/** Set the timer.
 *
 * @note   This sets the timer to some point in the …
Run Code Online (Sandbox Code Playgroud)

c c++ winapi system timer

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

将字典绑定到转发器

我有一个字典对象,<string, string>并希望将其绑定到转发器.但是,我不确定在aspx标记中放置什么来实际显示键值对.没有抛出错误,我可以使用它List.如何在转发器中显示字典?

c# asp.net data-binding dictionary repeater

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

用C#舍入到上面的单位

如何将小数向上舍入到最近的int.

1.2 ---> 2
5.6 ---> 6
79.9 ---> 80
85.01 ---> 86
Run Code Online (Sandbox Code Playgroud)

(int)Math.Round(计数/(十进制)行,MidpointRounding.AwayFromZero)

c# rounding

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

除了减少内存使用外,C#静态函数的性能是否优于非静态函数?

我假设public或者private static目标必须减少内存使用量,因为内存中只有一个静态目标副本.

这似乎是因为一个方法是静态的,可能使该方法成为CLR编译器进一步优化的潜在点,超出了非静态函数的可能性.虽然只是一个脆弱的理论,所以我来问你们所有人.

static publicprivate方法提供了超越减少内存使用量增加的任何性能优势?

(注意:我对那些谈论过早优化问题的回答不感兴趣.当然,这是我每天都遵循的合理建议,但这并不意味着有时不需要优化.(双重否定!).让我放纵我的好奇,至少)

c# optimization performance static keyword

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

Java 等价于 Convert.FromBase64String 方法

有一些Java相当于Convert.FromBase64String其中

将指定的字符串(将二进制数据编码为 base-64 数字)转换为等效的 8 位无符号整数数组。

我试过了:

将不胜感激任何建议!

java base64 unsigned

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

具有has_and_belongs_to_many关系的acts_as_list

我找到了一个名为acts_as_habtm_list的旧插件 - 但它适用于Rails 1.0.0.

这个功能现在是在acts_as_list中构建的吗?我似乎无法找到任何相关信息.

基本上,我有一个artists_events表 - 没有模型.通过指定的两个模型处理关系:has_and_belongs_to_many

在这种情况下如何指定订单?

ruby-on-rails has-and-belongs-to-many ruby-on-rails-plugins acts-as-list

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