Laden...

Forenbeiträge von Jake Ingesamt 193 Beiträge

09.01.2020 - 07:25 Uhr

@Jake: korrigiere mal deinen Link.

Danke für den Hinweis. Ist korrigiert.

08.01.2020 - 19:51 Uhr

Schau dir mal ExifLibNet an.

Damit kann man die Exif-Metadaten von Bildformaten bearbeiten. Die eigentlichen Bild-Daten werden dabei nicht verändert; sprich, das Bild selbst bleibt unangetastet.

Gruß Jake

03.04.2018 - 07:28 Uhr

Steht bei dir die BuildConfiguration (Combo-Box in der nähe des Start-Buttons) auf IphoneSimulator? Wenn ja, dann ist das wahrscheinlich die Ursache. Stell die mal auf iPhone, dann sollten alle Geräte kommen.

Gruß Jake

27.07.2017 - 11:37 Uhr

... warum sie die Anwendung überhaupt starten lies?

Die benötigte .NET Version wird über die App.config-Datei eingestellt.
Wenn ihr die bei eurem Kollegen nicht mit deployed habt (der Name wird dann zu ASSEMBLYNAME.exe.config), dann "weiß" Windows nicht wirklich welches Framework es braucht und nimmt halt das beste welches es findet.

Etwas mehr Hintergrundinfo und auch ein Anwendungsfall wie man dieses Verhalten für sich nutzen kann findet man in diesem Blog Post:
Faking out the .NET Runtime Version

Gruß Jake

18.11.2016 - 16:25 Uhr

Dafür brauchst du keine externe Library. Android bringt da alles mit was du brauchst.

Die Bilder kannst du ja auch einfach in Bitmaps (Android.Graphics.Bitmap) laden.
Mit Bitmap.CreateBitmap(width, height, format) erzeugst du dann das Ziel-Bitmap auf das du beide Bilder zeichnen kannst.
Zum Zeichnen brauchst du noch ein Canvas (Android.Graphics.Canvas). Dem gibst du im Constructor das erzeugte Bitmap mit.
Mit Canvas.DrawBitmap(bitmap, ....) kannst du dann die anderen beiden Bilder in das neue Bild rein zeichnen.

Ungefär so sollte der Code dazu aussehen (hab ich jetzt einfach so geschrieben; nicht getestet)


var targetBitmap = Bitmap.CreateBitmap(width, height, Bitmap.Config.Argb8888);

using(var canvas = new Canvas(targetBitmap))
{
 using(var paint = new Paint(PaintFlags.AntiAlias))
 {
   canvas(bmp1, 0,0, paint);
   canvas(bmp2, 0,0, paint);
 }
}

Gruß Jake

18.10.2016 - 08:31 Uhr

So wie ich es sehe kann Mercurial kein WebDAV Out of the Box.
Zumindest wird es nicht in den offiziellen Docs erwähnt: Publishing Mercurial Repositories

Es gab wohl mal eine Erweiterung die das nachrüstete, aber die wird wohl schon länger nicht mehr weiter entwickelt.

Was aber auf einer Synology NAS ganz gut geht, ist das Repository per hgweb zu hosten.

Diese Beschreibung ist zwar schon etwas älter, sollte aber immer noch funktionieren: Mercurial on Synology (hg web)

Gruß Jake

17.10.2016 - 23:04 Uhr

Ich glaube bei dem Thema kommen wir auf keinen gemeinsamen Nenner. Ist aber eigentlich auch egal.
Die Zeit wird zeigen was passiert und da bin ich der Meinung das man Mono durchaus mit dabei ist.
Unter anderem deshalb weil es einfach die Basis für die Xamarin Toolchains auf den verschiedensten Plattformen ist.

Gruß Jake

17.10.2016 - 14:10 Uhr

Ähm, nein. Mono ist definitiv nicht tot.

Mono ist die Grundlage für die ganze Xamarin Geschichte und auch das Desktop Framework wird immer noch aktiv weiter entwickelt. Das letze Stable Release war Anfang August 2016. Seit der Freigabe vom .NET Framework ist auch Kompatibilität deutlich gestiegen, da die Entwickler sehr viel original .NET Framework Code übernehmen konnten.

Und auch wenn Xamarin jetzt die Microsoft gehört wird Mono weiter entwickelt und taucht z.B. auch in den Artikeln zum .NET Standard auf .NET Standard Library.
Von dem her hast du recht: Gesetzt ist .NET Standard; aber da spielt Mono einfach mit.

Ansonsten wird Mono z.B. auch in der 3D Engine Unity verwendet. Auch das spricht aus meiner Sicht dafür die Qualität nicht so schlecht sein kann, sonst würde sich das ganze nicht so halten.

Und wegen den UI Toolkits: Wie ich vorher ja schon geschrieben hab gibt es durchaus alternativen wie GTK# für Windows, Linux und Mac bzw. auf dem Mac sehr gute Bindings an Cocoa.

Gruß Jake

17.10.2016 - 11:12 Uhr

Nen reines Apple als .NET Entwickler ist völlig sinnfrei.
....
Auf MacOS hast Du nur Visual Studio Code und .NET Core.

Das ist so jetzt auch nicht ganz richtig. Grundsätzlich gibt es auch das Mono-Framework. Das hatte früher schon eine recht hohe Komptabilität und seit der Öffnung des .NET Frameworks ist es immer besser geworden.

IDE Seitigt gibt es auf Open-Source Basis dann z.B. MonoDevelop.

Ansonsten dann natürlich noch Xamarin Studio und in naher Zukunft kommt von Jetbrains noch Rider.

Also UI Technologie kann man zwar nicht auf WinForms oder gar WPF gehen, aber bei Mono-Develop wird z.B. GTK# sehr gut untertützt.
Programme in GTK# haben den Vorteil das sie unter Windows, Mac und Linux laufen können.

Und Xamarin Studio bringt mit Xamarin Mac eine sehr gute Anbindung an die native macOS Ui Technologie Cocoa.

Die Tools kommen bestimmt in vielen Punkten nicht an Visual Studio ran, aber sie existieren und haben eigentlich alles was man zum
entwickeln braucht (Debugger, unterstützung von Versionsverwaltung, UI Designer).

Gruß Jake

18.01.2012 - 23:54 Uhr

Einfach konvertieren? Nein. Das geht nicht.
Unter der Oberfläche ist sehr viel von der Base Class Library verfügbar aber alles was Oberfläche ist, ist eine ganz andere Welt.

Gute Tutorials zu M4A findest du direkt bei Xamarin: http://docs.xamarin.com/android

Gruß Jake

16.06.2011 - 21:45 Uhr

Die Windows Multimedia Timer sollten das hin bekommen; mit denen kommt man auf 1ms genauigkeit hin. Auch vom Jitter her treffen die es noch ganz gut (wenn der Hardware Timer das mit macht; was bei aktuellen Systemen aber der Fall sein sollte).

Auf Codeproject gibt es Quellcode dazu.

02.12.2010 - 14:52 Uhr

Was ist es denn für ein Oszi?
An deiner Stelle würde ich mal schauen was für ein Protokoll das Ding kann. Visa hat eigentlich so ziemlich jedes Messgerät, welches automatisiert werden kann drauf. Kannst ja auch mal beim Hersteller anfragen ob die irgendwelche Ivy Treiber haben. Ivy Treiber werde als COM Objekte installiert und können ohne all zu großen Probleme von .NET aus genutzt werden. Bin zwar kein Fan von Ivy, aber um nur mal schell Daten von einem Gerät zu bekommen ist's eigentlich ganz ok.

Gruß Jake

01.10.2010 - 08:39 Uhr

Wenn es sich um native DLLs handelt, dann ist der Dependency Walker das Tool der Wahl:

http://www.dependencywalker.com/

21.09.2010 - 11:40 Uhr

Schau dir mal den Blog hier an:

Tip on using Fiddler with cassini and localhost

Da gibt es weitere Infos zu Fiddler und Cassini.

Gruß Jake

29.08.2010 - 13:18 Uhr

Die Antwort ist GZip Komprimiert (siehe Content-Encoding). Das solltest du vor der ausgabe auf der Console noch dekomprimieren.

25.06.2010 - 10:36 Uhr

Solche Probleme haben wir hier auch immer wieder mit VS2005. Was bei uns dann meistens hilft ist ein "Build -> Clean Solution"; Visual Studio schließen; suo-Datei der Solution löschen und Visual Studio wieder neu starten.

Gruß Jake

24.06.2010 - 15:22 Uhr

Schau dir vielleicht mal folgenden Blog-Eintrag an. Die wird das verhalten von using und yield in kombination erklärt.

Gruß Jake

17.06.2010 - 08:08 Uhr

...aber der war auch ein Technik-Freak und wusste damit umzugehen ...

Tja, aber beim iPhone muss man eben kein Technik Freak mehr sein um damit umzugehen. Und das ist auch einer der Punkte warum das iPhone so beliebt ist.
Ich bin auch so ein Technik Freak und spiele schon seit ca. 12 Jahren mit PDAs, Smartphones und allem möglichen anderen Zeug was so in die Richtung geht rum und hatte in der Zeit mehr als 50 verschiedene Geräte in der Hand. Von dem her behaupte ich jetzt mal, ich hab einiges in dem Bereich gesehen. Tja, und letzen Herbst hab ich mir dann auch ein 3GS zugelegt und würde es im Moment gegen kein anderes Gerät eintauschen (außer einem iPhone 4 😁 ).

Einer der großen Vorteile des iPhones ist, dass es (wie hier schon mehrfach geschrieben) sehr einfach zu bedienen ist. Dazu kommt, dass die SW perfekt auf die HW zugeschnitten ist. Es ist einfach ein gutes gesamt System. Was da IMHO im Moment in der gleichen Liga spielt ist das Pre vom Palm. Android Systeme schaffen es teilweise. Das liegt aber aus meiner Sicht nicht wirklich an Android. Hier sind mal wieder die Geräte Hersteller gefragt; aber die machen leider das selbe wie schon die letzen Jahre auch bei Windows Mobile. Hier werden einfach nur neue Geräte auf den Markt geworfen ohne sich großartig um die alten zu kümmern (und wenn sie dann doch mal eine neue Firmware rausbringen machen Sie einen rießen Hype drum; so wie HTC gerade beim Hero).

Nur des Styles wegen oder haben die so richtig Plan was man damit alles machen kann?!

Der Otto Normal User hat mit sicherheit nicht den Plan, was man alles damit machen kann. Aber Sie können alles machen, was für sie wichtig ist. Ein bisschen im Internet surfen, YouTube, Facebook und ein paar Spiele machen. Das ist dann auch schon alles, aber mehr brauchen sie Leute im Normal Fall nicht.
Es ist mal wieder die typische 80/20 Regel. 80% der User nutzen 20% der Features.

Ich persönlich mag mein iPhone und habe als reiner Benutzer bisher nichts großartig vermisst.*ssh auf meine Unix Server *Sync mit Exchange ist klasse *bester Mobiler Webbrowser den ich bisher gesehen hab *Location bases services *Augmented Reality

Wie gesagt, als reiner Anwender ist das iPhone super. Als Entwickler muss ich aber sagen, dass ich kein Bock auf das Gerät hab. Was jetzt nicht an der API oder Cocoa liegt, sondern an dem Verhalten von Apple was Applikationen angeht. Ich hab ehrlich gesagt keine Lust Zeit in etwas zu investieren, wo ich im Ende nicht mal weis, ob es dann wirklich Verkauft werden darf.

Gruß Jake

08.05.2010 - 15:54 Uhr

Hm, das kann ich jetzt leider nicht nachvollziehen. Ich hab testhalber mal folgende Klasse hier gemacht:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ClassLibrary1
{
    public class Class1
    {
        private int b;

        private int a;

        public Class1()
        {

        }

        public void C()
        {

        }

        public void A()
        {

        }

        public int PropC { get; set; }

        public int PropA { get; set; }

        private void PrivateB()
        {
            
        }

        private void PrivateA()
        {
            
        }
    }
}

Meine Code Cleanup Settings sind die aus dem Screenshot im Anhang (also nur Reorder Type Members)

Heraus kommt folgendes:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ClassLibrary1
{
    public class Class1
    {
        #region private fields

        private int a;

        private int b;

        #endregion

        #region constructors

        public Class1()
        {

        }

        #endregion

        #region public methods

        public void A()
        {

        }

        public void C()
        {

        }

        #endregion

        #region public properties

        public int PropA { get; set; }

        public int PropC { get; set; }

        #endregion

        #region private methods

        private void PrivateA()
        {
            
        }

        private void PrivateB()
        {
            
        }

        #endregion
    }
}

Da ist dann alles schön alphabetisch sortiert.

Gruß Jake

07.05.2010 - 20:59 Uhr

Hallo,

also, ich hab mein XML jetzt mal an dein Beitrag hier angehängt (warum unterstützt das Forum eingentlich keinen Upload von XML Dateien?!?)

Nachdem anwenden von "Reorder Type Members" bei einem Code Cleanup werden die Members nach folgender Struktur angeordnet

private fields
constructors
public
internal
protected
private
interface Members
nested types

Zusätzlich wird innerhalb jeder Block noch alphabetisch sortiert.
Jeder Block wird dann noch in eine Region eingepackt.

Gruß Jake

edit: Rechtschreibfehler raus gemacht

07.05.2010 - 11:30 Uhr

Hm, vielleicht sind deine ProjectTemplates kaputt gegangen.
Du könntest mal probieren den Cache der Projekttemplates zu löschen, damit VS wieder die original Version nimmt.

Hab jetzt kein VS 2008 hier, aber unter 2005 ist der Cache unter: Programme\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplatesCache.

Alternativ kannst du VS mal noch mit dem InstallVSTemplates Parameter aufrufen: /InstallVSTemplates (devenv.exe)

Gruß Jake

07.05.2010 - 11:23 Uhr

Ungeprüft, aber probier doch mal den neuen Text nicht auf InnerXml zuzuweisen, sondern auf InnerText.

Gruß Jake

07.05.2010 - 11:20 Uhr

ich habe mir gerade Resharper installiert. Aber eine Funktion, wo ich in meinen Klassen die Felder und Eigenschaft automatisch sortieren lassen kann finde ich nicht?! Hat dazu noch jemand eine Idee?

Dafür die Funktion "Cleanup Code" (zu finden u.a. im Kontext Menü im Texteditor) zuständig.
In den Optionen kann man sich eigene Code Cleanup Einstellungen zusammenstellen. Wenn dort der Punkt "Reorder type members" angehakt ist, dann werden Felder, Methode usw. sortiert.

Einfluss auf die sortierung kann man über die Einstellungen "Type Members Layout" in den Optionen unter "Languages -> C# -> Type Members Layout".

Die Konfiguration des "Type Members Layout" ist etwas .. naja, nennen wir es mal "eigen". Das läuft über ein XML ab. Damit ist man sehr flexibel, aber es dauert ein bisschen, bis man alles so hat, wie man es will.

Einen ersten Ansatzpunkt gibt es hier: Resharper Hilfe

Wenn interesse besteht kann ich auch mal mein XML hier posten.

Gruß Jake

02.05.2010 - 14:32 Uhr

Entweder du baust dir mit P/invoke selbst einen Wrapper um die Windows CE API CE .NET 4.2: Power Management Architecture
oder die verwendest das Smart Device Framework http://www.opennetcf.com/library/sdf/. Unter OpenNetCF.WindowsCE gibt's die PowerManagement Klasse.

Gruß Jake

26.04.2010 - 18:58 Uhr

Hintergrund ist, dass der Compiler dann in der IL ein call statt einem callvirt verwenden kann um die Methoden aufrufen zu können.
So wie ich den entsprechenden Abschnitt verstanden habe, ist es eher der JIT-Compiler, der ein callvirt dann anders behandeln kann.
Steht auf S.191 unten in der deutschen Ausgabe ("Leistung").

Ja, so hab ich's auch verstanden.

call finden IMHO nur bei structs und statischen Methoden anwendung.
Und in Verbindung mit base 🙂){gray}

X( jepp, da auch ...

Gruß Jake

26.04.2010 - 16:17 Uhr

Dass eben callvirt NICHT durch call ersetzt wird, ...
was tatsächlich passiert, lässt sich ja leicht ausprobieren. 😃

Deswegen hab ich auch "kann" geschrieben. Ob es gemacht wird hängt vom jeweiligen Compiler hab.

Das Team vom Microsoft C# Compiler hat sich dafür entschieden alle Instanz-Methoden per callvirt aufzurufen um die zusätzliche prüfung auf != null, die eben von callvirt durchgeführt wird, gleich mit zu bekommen.
call finden IMHO nur bei structs und statischen Methoden anwendung.

Gruß Jake

26.04.2010 - 09:23 Uhr

Ein ganz gutes Buch über MS Robotics Studio und NXT

http://www.amazon.de/Programming-Microsoft%C2%AE-Robotics-Studio-PRO-Developer/dp/0735624321/ref=sr_1_1?ie=UTF8&s=books-intl-de&qid=1272266518&sr=8-1

Ansonsten ist zum schnell ansteuern vom PC aus diese Lib hier ganz net:
NXT.NET for LEGO Mindstorms

Gruß Jake

23.04.2010 - 10:04 Uhr

@ herbivore: Methoden nicht virtuell zu machen, bringt ja einen Performancegewinn. Weißt Du, wie das mit sealed-Klassen ist?

Bin jetzt zwar nicht herbivore aber ich antworte jetzt mal trotzdem darauf 😁

sealed kann einen Performance Vorteil bringen, wenn man eine abgeleitete Klasse, in der die Basis Virtuelle Methoden hat, damit auszeichnet.
Hintergrund ist, dass der Compiler dann in der IL ein call statt einem callvirt verwenden kann um die Methoden aufrufen zu können.

Jeffrey Richter hat in seinem Buch "CLR via C#" einen recht ausführlichen Abschnitt über das ganze Thema.

Gruß Jake

21.04.2010 - 13:53 Uhr

Ich habe mir angewöhnt abgeleitete Klassen erst einmal sealed zu machen wenn ich nicht will, das jemand wieder von diesen ableitet und damit vielleicht von mir geplantes Verhalten aushebelt.

Ansonsten sind folgende Links noch ganz interessant:

http://stackoverflow.com/questions/2134/do-sealed-classes-really-offer-performance-benefits

Hier wird erklärt, warum ImageList sealed ist:
"Sealed" is good

Gruß Jake

13.04.2010 - 07:47 Uhr

Hallo Zusammen,

wollte nur mal kurz fragen ob jemand das selbe Phänomen hat:
Wir haben hier vor ein paar Monaten das MSDN Pro gekauft mit der Option dann ab Release vom 2010er die Premium Edition zu bekommen (vgl. http://www.microsoft.com/germany/visualstudio/buy/ultimate-offer.aspx)
Als ich heute morgen dann in die Subscriber Downloads geschaut habe, wurde mir nur der VS 2010 Pro Download angeboten.

Muss MS da noch was frei schalten oder ist da bei uns was schief gelaufen?

Gruß Jake

01.04.2010 - 19:15 Uhr

Wenn du die Subversion Funktionen in deinem Programm integrieren willst, dann würde sich die SharpSVN-Lib anbieten: http://sharpsvn.open.collab.net/

Ansonsten gibt es von Subversion selbst noch die Command Line tools: http://subversion.apache.org/

Gruß Jake

19.03.2010 - 23:34 Uhr

Na dann viel Spass damit 👅
Das mit dem klicken war bei mir am Anfang auch, aber das legt sich (oder ich hab mich einfach nur daran gewöhnt).

Gruß Jake

10.03.2010 - 10:47 Uhr

Hmmmmm - macht das denn auf Dauer nicht den Akku kaputt, wenn man die Maus auf Dauer eingesteckt lässt?

Okay, stimmt natürlich, wie Du schon schreibst, man kann auch einfach für wenig Geld einen neuen holen ...

Hab gerade mal ausprobiert, ob man die Maus auch ohne Akku betreiben kann; das würde auch gehen; nur dann hat man immer ein rotes blinken an der Maus.

Wie schon gesagt, ich bin sehr begeistert von dem Teil und würde sie jederzeit wieder kaufen.

Gruß Jake

09.03.2010 - 15:39 Uhr

Im Prinzip finde ich die auch super - wenn sie denn kabelgebunden wäre. Ich HASSE schnurlose Mäuse 😉

Aber mangels Alternativen ...

Also das mit dem Kabel ist bei der Performance MX von Logitech machbar. Die hat an der Vorderseite den Anschluss für das Ladekabel. Das kannst du dann ganz normal am Rechner anschließen und hast im Prinzip keinen Unterschied zu einer Kabelmaus (außer das die Datenübertragung per Funk läuft).

Ich hab diese Maus selber an mehreren Rechnern im Einsatz und bin nur begeistert.
Es gibt keine nervigen Arbeitsunterbrechungen, weil der Akku leer ist und auch der Funkempfänger ist so klein, dass er dauerhaft am Notebook eingesteckt bleiben kann. Ansonsten arbeitet das Teil mit einem normalen AA-Akku und wenn der mal hops geht, dann gibt's halt für ein paar € einen neuen.

Gruß Jake

08.03.2010 - 00:28 Uhr

Ich kenne jetzt nur das 1. Buch (Das Programmierhandbuch) und muss sagen, dass dieses Buch klasse ist.
Musste mich nach langer Zeit mal wieder mit dem Thema Datenbanken beschäftigen und das eingestaubte Wissen aus dem Studium mal wieder aufpolieren und dabei hat mir dieses Buch sehr geholfen.

Mit Triggern musste bzw. hab ich mich noch nicht bechäftigt sprich, ich kann dir nicht sagen, ob die ca. 30 Seiten in dem Buch zu diesem Thema gut sind, aber ich geh mal davon aus, dass diese so wie alle Kapitel die ich bisher gelesen hab recht fundiert sind.

Beim Thema Stored Procedures hat mir das Buch alles aufgezeigt, was ich so wissen wollte. Gerade auch der Vergleich von T-SQL zu CLR-Procedures.

Gruß Jake

06.02.2010 - 13:36 Uhr

Daher kann hier "this." beim Aufruf der Methode entfallen .....
Ich kenne aber auch keinen CodeStyle, der das explizit fordert

Bei den Coding Guidlines in meiner Firma ist dies gefordert.
z.B. wegen statischen Methoden. (siehe auch nachfolgendes Zitat von herbivore)

Für Methoden ist es ja dann eindeutig, da es keine lokalen Methoden gibt.
nein, denn es gibt statische Methoden. Deshalb ist es ohne this bzw. ohne den Klassennamen vor Methoden für den Leser, der nur die Aufrufstelle sieht, auch nicht eindeutig, welche Art von Methode gemeint ist.

Oder andersherum gesehen: Auch bei Variablen ist auch ohne this immer eindeutig definiert, was gemeint ist. Wäre es nicht eindeutig definiert, könnte der Compiler ja keinen Code erzeugen.

Das stimmt schon, aber durch ein this wird dies imho beim lesen sofort ersichtlich.

Davon abgesehen halte ich es für ungünstig, sich darauf zu verlassen, dass alle Variablen, die nicht mit this gekennzeichnet sind, keine Membervariablen sind, denn this ist schnell mal vergessen und der Compiler meckert dann ja gerade nicht.

So etwas lässt sich aber mit anderen Tools; z.B. dem StyleCop von MS überprüfen.

Was mich wieder dazu führt, dass man this nur an den Stellen verwenden sollte, wo es sich nicht vermeiden lässt.

Ich folge da dem genauen gegenteil. Zugriff auf instanz-Ebene nur über this; wie oben schon gesagt, ich finde das es den Code leichter lesbar macht, da ich immer genau sehe, auf was der Zugriff erfolgt.

Gruß Jake

25.01.2010 - 23:31 Uhr

Sieht auf den ersten Blick sehr gut aus.

Als ich die Version downloaden wollte, ist mir aufgefallen, dass du beim Datum auf der Seite "Stand 25.1.2009" geschrieben hast; sollte das nicht 2010 sein?!? 😁

Gruß Jake

25.01.2010 - 20:40 Uhr

Hallo Zusammen,

danke noch für die Informationen über das "Warum".
Ist irgendwie interessant bzw. sogar beängstigent; da hat man Jahrelang eine bestimmtes Bild im Kopf und dann wird man eines besseren belehrt.

Gruß Jake

24.01.2010 - 22:54 Uhr

Ok,

ich hab's jetzt selbst heraus gefunden C# Language Reference: 7.8 Shift operators.

32-Bit-Typen lassen sich nicht um 32 Bit shiften. Die Anzahl der zu verschiebenden Stellen wir immer mit 0x1F verundet.

Wäre jetzt nur noch interessant zu wissen, warum das ganze ...

Gruß Jake

24.01.2010 - 22:45 Uhr

Hallo Zusammen,

ich kämpfe gerade ein bisschen mit den Bit-Shift-Operatoren von C#; und die lassen mich im Moment ein bisschen an meinem Verstand zweifeln.

Ich habe folgenden Code:


uint value = uint.MaxValue << 32;

Sprich, ich will 0xffffffff um 32 Bits verschieben; nach meinem Verständnis (und auch dem das VC++ Compilers) sollte da 0 heraus kommen, da ja pro geshifteder stelle eine 0 eingefügt wird.
Unter C# ist das Ergebnis aber wieder 0xffffffff. Shifte ich um 0 bis 31 Stellen kommt das erwartete Ergebnis.

Warum ist das so? bzw. Kann ich irgendetwas gegen dieses Verhalten machen?

Gruß Jake

22.12.2009 - 14:44 Uhr

Noch als Nachtrag:

Die Jungs vom Visual Studio Team erklären in ihrem Blog, wie sie den Splash-Screen von VS2010 realisiert haben:
The Visual Studio Blog - Behind the Scenes: The Splash Screen

Gruß Jake

19.12.2009 - 17:01 Uhr

Directory.GetFiles(string, string, SearchOption) mit SearchOption.AllDirectories ist dein Freund.
http://msdn.microsoft.com/de-de/library/ms143316.aspx

Gruß Jake

19.12.2009 - 15:49 Uhr

Schau dir doch mal Regex.Matches an.
Regex.Matches-Methode

Gruß Jake

16.11.2009 - 06:43 Uhr
  
            double test = (1 + 1 + 1) / 21;  
            test2 = Convert.ToInt16(Math.Ceiling(test));  
  

Schreib doch mal


            double test = (1 + 1 + 1) / 21.0;
            test2 = Convert.ToInt16(Math.Ceiling(test));

Das Problem ist, dass du nur mit Integer Zahlen arbeitest. Daher nimmt der Compiler auch Integers für seine Berechnung (und bei Integer wird immer abgeschnitten). Erst am Ende wird der Wert einem Double zugewiesen.
Wenn du, wie in meinem Beispiel, eine mindestens Zahl zu einem double machst (21.0), dann nimmt der Compiler auch doubles zum rechnen.

Gruß Jake

12.10.2009 - 13:39 Uhr

Danke erst einmal für die Antworten,

ASP.NET MVC steht im Moment leider nicht zur Debatte.
Das ganze ist ein Sumpf aus mehreren Systemen auf basis von C#/.NET, PHP und ein bisschen Java.

Das gallio in der Richtung was hat wusste ich nicht; muss ich doch mal genauer damit beschäftigen.

Selenium werd ich mir auch mal anschauen; aber das macht wohl mehr so in der Richtung UI-Tests.

Bei uns geht es im Prinzip darum, dass wir Load-Tests bei WebSites automatisiert haben wollen. Diese sollen in Form eines Unit-Tests durchgeführt werden und je nach benötigter Zeit für die Durchführung einer Operation gibt es dann ein pass oder fail.

Gruß Jake

12.10.2009 - 10:46 Uhr

Hallo zusammen,

ich bin schon seit längerem auf der Suche nach einem sog. healess bzw. guiless webbrowser system für .NET.
Für Java hab ich bisher HtmlUnit gefunden.
Für .NET leider noch nichts.

Mein Ziel dahinter ist eine Möglichkeit WebSites per Unit-Tests testen zu können.

Gruß Jake

23.07.2009 - 19:53 Uhr

Schau dir vielleicht mal die Kommandozeilenparameter von Visual Studio an. /ResetSettings oder /setup könnten vielleicht helfen.

Gruß Jake