मेरे पास वर्तमान में एक विधि है जो कि सरल है और वक्रवैल्यू (कस्टम ऑब्जेक्ट) की एक सूची की गणना करता है, मेरे पास यह मुद्दा है कि मुझे पैरामीटर की गणना करने और वास्तव में बदलने के बिना दशमलव वापस पास करने की आवश्यकता है पैरामीटर।AddRange() और LINQ प्रतिलिपि समस्या
मैंने एक नई ऑब्जेक्ट में AddRange() को जोड़ने की कोशिश की ताकि पैरामीटर वक्र प्रभावित नहीं होगा लेकिन ऐसा लगता है कि संदर्भ अभी भी मौजूद है और ForEach() को वक्र दोनों के बाद किया जाता है, और वक्र बदल गया है।
मुझे लगता है कि यह अभी भी संदर्भित है लेकिन क्या पैरामीटर वक्र के माध्यम से गणना किए बिना इसे वक्र में जोड़ने के बिना ऐसा करने का कोई आसान तरीका है?
public decimal Multiply(List<CurveValue> curve, decimal dVal)
{
List<CurveValue> curveA = new List<CurveValue>();
curveA.AddRange(curve);
curveA.ForEach(a => a.Value = decimal.Round(a.Value, 4) * dVal);
return Sum(curveA);
}
public decimal Sum(List<CurveValue> curveA)
{
return curveA.Sum(x => x.Value);
}
क्षमा करें, मेरा कोड अपडेट किया गया। योग सिर्फ एक तरीका है जो स्पष्ट करता है। मुझे व्यक्तिगत रूप से प्रत्येक CurveValue ऑब्जेक्ट की गणना करने की आवश्यकता है, फिर इन्हें योग करें। ऑपरेशन पक्ष ठीक है, मुझे पता नहीं है कि जब वक्र पर ऑपरेशन किया जा रहा है तो वक्र को क्यों अपडेट किया जा रहा है। – nik0lias
@ nik0lias CurveA में वक्र में बिल्कुल वही ऑब्जेक्ट्स के संदर्भ शामिल हैं, इसलिए जब भी आप उन्हें बदलते हैं तब भी आप वही ऑब्जेक्ट्स से निपट रहे हैं (वक्र में। फॉरएच (...))। –
वक्र को वक्र की प्रतिलिपि बनाने और संदर्भों को हटाने का कोई आसान तरीका है? या यह नई वस्तुओं को गिनाने और बनाने का एक मामला है और फिर इन्हें वक्र में जोड़ना है? – nik0lias