Article View: alt.pl.comp.lang.csharp
Article #22267Re: dziedziczenie po typie float
From: Piotr Stęclik
Date: Sat, 19 Nov 2011 18:58
Date: Sat, 19 Nov 2011 18:58
28 lines
2131 bytes
2131 bytes
W dniu 2011-10-24 22:43, Gregory Moron pisze:
> mam pewną zmienną o typie float i chciałbym porównując takie zmienne
> chcę móc mieć możliwość określenia warunku ich równości:
> np. chciałbym aby liczby z przedziału (1,2) były równe 1, z przedziału
> (2,3) były równe 2. itd. (taki Math.Floor(value ))
>
> Ponieważ wykorzystuję LINQ to żeby uzyskać takie wyniki muszę napisać
> własny komparator dla typu float i podawać go jako parametr dla różnych
> extension methods w rodzaju Where, Distinct itp.
> Nie ma problemu oczywiście żebym zrobił cos takiego jak poniżej:
A nie myślałeś o napisaniu extension method? Mogło by to tak mniej
więcej wyglądać
public static class MyExtensionStaticClass
{
public static bool MySophisticatedCompare(this float x, float y)
{
return Math.Floor(x) == Math.Floor(y);
}
}
a w kodzie LINQ (lub każdym innym) możesz korzystać jak z normalnej metody:
float a = 1;
float b = 4;
bool wynik = a.MySophisticatedCompare(b);
Piotr Stęclik
Technical Details
Message-ID:
<4EC7FC67.3030907@isukces.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!news.task.gda.pl!not-for-mailReferences:
<j84ikl$o16$1@news.task.gda.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!news.task.gda.pl!not-for-mail From: Piotr Stęclik <piotr.steclik@isukces.pl> Newsgroups: alt.pl.comp.lang.csharp Subject: Re: dziedziczenie po typie float Date: Sat, 19 Nov 2011 19:58:47 +0100 Organization: CI TASK http://www.task.gda.pl/ Lines: 29 Message-ID: <4EC7FC67.3030907@isukces.pl> References: <j84ikl$o16$1@news.task.gda.pl> NNTP-Posting-Host: 188.146.23.20.nat.umts.dynamic.t-mobile.pl Mime-Version: 1.0 X-Trace: news.task.gda.pl 1321729117 29563 188.146.23.20 (19 Nov 2011 18:58:37 GMT) X-Complaints-To: abuse@news.task.gda.pl NNTP-Posting-Date: Sat, 19 Nov 2011 18:58:37 +0000 (UTC) To: Gregory Moron <gregory.moron@wp.pl> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20110624 Thunderbird/5.0 In-Reply-To: <j84ikl$o16$1@news.task.gda.pl> X-Antivirus: avast! (VPS 111119-0, 2011-11-19), Outbound message X-Antivirus-Status: Clean Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit