Ich habe eine Methode (AlphaCalcResult), die mehrere Werte zurückgeben sollte. Jedes Forloop hat eine Logik, die einem Listenfeld einen Wert zuweist. Ich möchte dann das Ergebnisobjekt mit den zwei Werten zurückgeben, die aus zwei Loops erzeugt wurden, die unten beschrieben sind. Neu in C# Entwicklung und Probleme mit der Syntax.C# gibt mehrere Werte in einem Objekt zurück
Wie kann ich Return-Anweisung in meinem Code unten tun?
public AlphaCalcResult CalculateAlpha(AlphaCalcParam param)
{
AlphaCalcResult result = new AlphaCalcResult
{
portfolios = new List<Portfolio>()
};
// Lists Portfolios & Settings
var portfolioListItem = param.portfolios.portfolioHoldings;
var scoreListItem = param.settings.grossAlphas;
// 1. CALCULATE FUND ALPHA
for (var i = 0; i<portfolioListItem.Count; i++)
{
portfolioListItem[i].fundRating = i;
for (var j = 0; j<scoreListItem.Count; j++)
{
scoreListItem[j].fundRating = j;
if(i == j)
{
portfolioListItem[i].fundAlpha = scoreListItem[j].grossAlpha - portfolioListItem[i].fundExpenseRatio;
}
}
}
//2. CALCULATE PORTFOLIO ALPHA
var portfolioAlphaResult = param.portfolios.portfolioAlpha;
for (var i =0; i<portfolioListItem.Count; i++)
{
portfolioAlphaResult = portfolioListItem[i].fundWeight * portfolioListItem[i].fundAlpha;
};
// populate result
return result;
}
Sie sind nie tatsächlich Ergebnis zu füllen, Sie erstellen eine leere Liste, eine Menge Arbeit, die nie zu dieser Liste hinzufügt, und die leere Liste – bizzehdee
können Sie mich bitte in die richtige Richtung bitte? –
Ich dachte, ich tat .... Sie berechnen 'portfolioAlphaResult', fügen es aber nie zu' result.portfolios' hinzu. – bizzehdee