小编sta*_*ica的帖子

CORBA是遗产吗?

对于从今天开始的分布式计算项目,有0个遗留组件,是否有充分的理由来研究CORBA?

corba

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

在C#中将属性作为'out'参数传递

假设我有:

public class Bob
{
    public int Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想将Value成员作为out参数传递

Int32.TryParse("123", out bob.Value);
Run Code Online (Sandbox Code Playgroud)

但我得到一个编译错误,"'out'参数不归类为变量." 有没有办法实现这一点,或者我将不得不提取变量,àla:

int value;
Int32.TryParse("123", out value);
bob.Value = value;
Run Code Online (Sandbox Code Playgroud)

c# properties out-parameters

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

为什么Scala的元组语法如此不同寻常?

在数学和计算机科学中,元组是元素的有序列表.在集合论中,(有序的)n元组是n个元素的序列(或有序列表),其中n是正整数.

因此,例如,在Python中,元组的第二项将通过访问t[1].

在Scala中,只能通过奇怪的名称进行访问t._2.

所以问题是,为什么我不能按照定义访问元组中的数据作为序列或列表?有什么想法或者还没有检查过吗?

scala tuples iterable-unpacking

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

.NET 4有内置的JSON序列化器/解串器吗?

.NET 4是否附带任何序列化/反序列化JSON数据的类?

  • 我知道有第三方库,比如JSON.NET,但我正在寻找内置于.NET中的东西.

  • 我在MSDN上找到了数据合约,但它适用于WCF,而不适用于Winforms或WPF.

.net serialization json jsonserializer

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

someString.IndexOf(someString)在.NET 4下返回1而不是0

我们最近将所有项目从.NET 3.5升级到.NET 4.我遇到了一个相当奇怪的问题string.IndexOf().

我的代码显然略有不同,但在调查问题的过程中,我发现调用IndexOf()一个字符串本身返回1而不是0.换句话说:

string text = "\xAD\x2D";          // problem happens with "­-dely N.China", too;
int index = text.IndexOf(text);    // see update note below.
Run Code Online (Sandbox Code Playgroud)

给我一个索引1而不是0.关于这个问题需要注意几点:

  • 问题似乎与这些连字符有关(第一个字符是Unicode软连字符,第二个字符是常规连字符).

  • 我已经仔细检查过,这不会发生在.NET 3.5中,而是发生在.NET 4中.

  • 更改IndexOf()要进行序数比较可以解决问题,因此出于某种原因,默认情况下会忽略第一个字符IndexOf.

有谁知道为什么会这样?

编辑

对不起,伙计们,在原帖上做了一些东西,并在那里得到了隐藏的短跑两次.我已经更新了字符串,只要将其粘贴到正确的编辑器中,就应该返回1而不是2的索引.

更新:

将原始问题字符串更改为每个实际字符清晰可见的字符串(使用转义).这有点简化了问题.

c# string .net-4.0 .net-3.5

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

如何确保不会出现WCF故障状态异常?

我得到这个例外:

通信对象System.ServiceModel.Channels.ServiceChannel不能用于通信,因为它处于Faulted状态.

WCF服务使用默认的wsHttpBinding.无论我在哪里使用它,我都会以下列方式使用WCF:

using (var proxy = new CAGDashboardServiceClient())
{
    proxy.Open();
    var result = proxy.GetSiteForRegion(ddlRegions.SelectedValue);
    ddlSites.DataSource = result;
    ddlSites.DataBind();
    proxy.Close();
}
Run Code Online (Sandbox Code Playgroud)

消息中显示的错误行似乎是在last proxy.close之后.不确定发生了什么.我正在视觉工作室08内推出这项服务.

这是跟踪信息:

The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.

Server stack trace: 
  at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)

Exception rethrown at [0]: 
  at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
  at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
  at System.ServiceModel.ICommunicationObject.Close(TimeSpan timeout)
  at System.ServiceModel.ClientBase`1.System.ServiceModel.ICommunicationObject.Close(TimeSpan timeout)
  at System.ServiceModel.ClientBase`1.Close()
  at System.ServiceModel.ClientBase`1.System.IDisposable.Dispose()
  at CAGDashboard.UserControls.ucVolunteerCRUDGrid.ddlRegions_SelectedIndexChanged(Object sender, EventArgs e) in C:\Documents and Settings\rballalx\My Documents\Visual …
Run Code Online (Sandbox Code Playgroud)

wcf exception wcf-client

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

PHP函数使用外部变量

function parts($part) { 
    $structure = 'http://' . $site_url . 'content/'; 
    echo($tructure . $part . '.php'); 
}
Run Code Online (Sandbox Code Playgroud)

此函数使用$site_url在此页面顶部定义的变量,但此变量未传递到函数中.

我们如何让它在函数中返回?

php variables function

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

删除字符串中的分隔符之间的文本(使用正则表达式?)

考虑要求找到一对匹配的字符集,并删除它们之间的任何字符,以及那些字符/分隔符.

以下是分隔符集:

 []    square brackets
 ()    parentheses
 ""    double quotes
 ''    single quotes
Run Code Online (Sandbox Code Playgroud)

以下是一些应匹配的字符串示例:

 Given:                       Results In:
-------------------------------------------
 Hello "some" World           Hello World
 Give [Me Some] Purple        Give Purple
 Have Fifteen (Lunch Today)   Have Fifteen
 Have 'a good'day             Have day
Run Code Online (Sandbox Code Playgroud)

以及一些不匹配的字符串示例:

 Does Not Match:
------------------
 Hello "world
 Brown]co[w
 Cheese'factory
Run Code Online (Sandbox Code Playgroud)

如果给定的字符串不包含匹配的分隔符集,则不会对其进行修改.输入字符串可以具有许多匹配的分隔符对.如果一组2个分隔符重叠(即he[llo "worl]d"),那就是我们可以忽略的边缘情况.

该算法看起来像这样:

string myInput = "Give [Me Some] Purple (And More) Elephants";
string pattern; //some pattern
string output = Regex.Replace(myInput, pattern, string.Empty);
Run Code Online (Sandbox Code Playgroud)

问题:如何使用C#实现这一目标?我倾向于正则表达式.

额外:是否有简单的方法可以在常量或某种列表中匹配这些起始和结束分隔符?我正在寻找的解决方案很容易更改分隔符,以防业务分析师提出新的分隔符集.

.net c# regex string algorithm

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

如何获取控制台应用程序窗口的句柄

有人能告诉我如何在C#中获取Windows控制台应用程序的句柄吗?在Windows窗体应用程序中,我通常会尝试this.Handle.

c# console hwnd window-handles

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

IObservable与普通事件或为什么我应该使用IObservable?

微软在.NET Framework 4中引入了BCL IObservable<T>接口,我想,"太好了,最后,我必须使用它!" 所以我深入挖掘并阅读帖子和文档,甚至实现了模式.

在这样做之后,我意识到基本实现实际上将所有T事件发送给所有订阅者,而不对其进行任何过滤; 即普通广播.我在某处读到了Observable模式用于普通广播.我觉得这不是真的,我错过了一些东西.

我的问题:

  1. 如果我添加一个过滤机制,使用Observable模式和只使用普通CLR事件有什么区别?

  2. 应该何时使用此模式,何时应该选择使用普通CLR事件?

  3. Observable模式的主要优点是什么?

events design-patterns .net-4.0 system.reactive

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