Új hozzászólás Aktív témák
-
amdni
aktív tag
Megoldódott :
public static T operator +(Node<T> x, Node<T> y)
{
return (dynamic)x.value + y.value;
}public static T operator /(Node<T> x, int y)
{
return (dynamic)x.value / y;}
public Node<T> Sum()
{
Node<T> ertek = new Node<T>();
Node<T> temp = start;
while (temp != null)
{
ertek.value = ertek + temp;
temp = temp.next;
}
return ertek;
}public T Atlag()
{
T vissza;
vissza = Sum() / count;
return vissza; -
amdni
aktív tag
Sajnos még mindig nem tudom megoldani a problémát.
Valaki esetleg tudna ebben segíteni?
Ha c#-ban egy generikus étrékkel szeretnék aritmetikai műveletet végezni pl. összeadást, hogyan tudom megoldani?
Valójában egy láncolt listába szeretnék írni egy függvényt, ami a láncolt lista átlagát adja meg. És a lálcolt lista generikus. -
amdni
aktív tag
Ez a legújabb verzióm:
public static Node<T> operator +(Node<T> x, Node<T> y)
{
return (dynamic)x.value + y.value;
}public T Szum()
{
Node<T> tempValue = new Node<T>();
Node<T> temp = start;
while (temp != null)
{
tempValue = temp + tempValue;
temp = temp.next;
}
return tempValue.value;
}Ez a hibaüzenet: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'A(z) „int” – „Node<int>” implicit típuskonverzió nem lehetséges.'
[ Szerkesztve ]
-
amdni
aktív tag
válasz petyus_ #8606 üzenetére
Próbáltam úgy, szintaktikailag nem jelzett hibát a visual studio, de a program nem futott le, egy exeption-an megállt.
Végülis én 2 db T típusú adatot szeretnék összeadni.
class Node<T>
{
public T value;
public Node<T> next;
public Node<T> prev;public static T operator +(T x, T y)
{
return (dynamic)x + y;
}}
-
amdni
aktív tag
válasz petyus_ #8604 üzenetére
Eddig már eljutottam, de valami hiba van:
Egyébként egy kérirányú lálncolt listában kellene egy függvényt írom, ami az átlagot kiszámolja.
De a függvénynek a láncolt listában kell lennie, nem a program.cs-ben.class Node<T>
{
public T value;
public Node<T> next;
public Node<T> prev;public static T operator +(Node<T> x, Node<T> y)
{
return (dynamic)x.value + y.value;
}}
public T Atlag()
{
Node<T> tempValue = new Node<T>();
Node<T> temp = start;
while (temp != null)
{
tempValue = tempValue + temp;
}
return tempValue.value;
} -
amdni
aktív tag
Üdv!
Hogyan lehet megoldani, hogy c#-ban generikus értékre működjön pl. az + (összeadás) operátor?
class Node<T>
{
public T value;
public Node<T> next;
public Node<T> prev;public static Node<T> operator +(Node<T> a, Node<T> b)
{
return a.value + b.value;
}
}Ez sajnos nem működik.
Köszönöm a segítséget!
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Axon Labs Kft.
Város: Budapest