0
一個參數
我已經從一個相對複雜的代碼,下面摘錄我下面Func <T,U,double>等。在構造
IDictionary<string, double> startingProbabilitiesDict = GetNewIDictionaryStringDouble();
IDictionary<string, double> transitionProbabilitiesDict = GetNewIDictionaryStringDouble();
IDictionary<string, double> emissionProbabilitiesDict = GetNewIDictionaryStringDouble();
...
var fbv = new SomeClass<string, string>
(startingProbabilities: (s => startingProbabilitiesDict[s]),
transitionProbabilities: ((sOut, sIn) => transitionProbabilitiesDict[sOut][sIn]),
emissionProbabilities: ((s, o) => emissionProbabilitiesDict[s][o]));
其中SomeClass
默認構造函數是
public class SomeClass<O, S> : IObserver<Tuple<O, IEnumerable<S>>>
{
...
public SomeClass(
Func<S, double> startingProbabilities,
Func<S, S, double> transitionProbabilities,
Func<S, O, double> emissionProbabilities)
{
Contract.Requires(startingProbabilities != null);
Contract.Requires(transitionProbabilities != null);
Contract.Requires(emissionProbabilities != null);
StartingProbabilities = startingProbabilities;
TransitionProbabilities = transitionProbabilities;
EmissionProbabilities = emissionProbabilities;
}
...
}
我很困惑在這個符號:
startingProbabilities: (s => startingProbabilitiesDict[s])
看起來好像認爲startingProbabilities:
指定的是fisrt參數構造函數,但是爲什麼冒號是必要的,這個記號稱爲什麼?
打我給它幾秒鐘就可以得到upvote! – acfrancis