Zu C#: Verwendung von .value?

NiXPhoE

Gesperrter Benutzer
Hallo,

ich will mich in die Entwicklung mit C# einlesen. Und ich habe eine Frage zu Variablen und zu value. Wann hängt man bei der Deklaration einer Variable, und bei welchen, das .value an? Es besagt ja, den Startwert der Variablen. Was heißt das? Nimmt man value nur bei Schleifenvariablen? Ich bitte darum dieses Thema einmal zu diskutieren.

Danke!
 

NiXPhoE

Gesperrter Benutzer
Java:
private void numEingabe_ValueChanged(...)
{
   lblAusgabe.Text = "Wert: " + numEingabe.Value;
}
 

KSG9|sebastian

Top Contributor
Hab zwar noch nicht viel gemacht mit .NET, aber in deinem Beispiel ist value ein Property der Klasse des Objekts numEingabe - ich vermute mal ein Eingabefeld für Text.

Ist mehr oder minder dasselbe wie getter/setter in Java.

Java:
class Foo {
   String bar;
 
   public void setBar(String bar) { this.bar = bar; }

   public String getBar(){ return bar; }
}

Foo f = new Foo();

f.getBar() // dasselbe wie numEingabe.value

f.setBar("barbar") // dasselve wie numEingabe.value = 13;

Imho hat das mit Variablen und Startwerten nix zu tun.

.Value ist in einem Fall einfach ein definiertes Property an einer Klasse. Auf Instanzen dieser Klasse kann mit .<Name des Properties> auf das Property lesend und evtl. schreibend zugegriffen werden.
 
Zuletzt bearbeitet:

NiXPhoE

Gesperrter Benutzer
In meinem Buch steht: Value bezeichnet im Programm den Startwert und zur Laufzeit den aktuellen Wert.

Von Property steht da nichts und Property ist auch Java-spezifisch! Wie hast das zu deiner Aussage?
 

KSG9|sebastian

Top Contributor
In deinem Codebeispiel verwendest du intEingabe.value.

intEingabe dürfte vom Typ NumberField sein - und NumberField hat (erbt) das Property Value.

Siehe: NumberField.Value property (Microsoft.SharePoint.WebControls)

Sprichst du davon: Galileo Computing :: Einstieg in Visual Basic 2012 - 2 Grundlagen

Dann solltest du das auch sagen.

NiXPhoE hat gesagt.:
.. und Property ist auch Java-spezifisch!

Völliger quatsch!

Java kennt Property nicht als Sprachkonstrukt. Attribute mit get/set werden als Property bezeichnet, eine Unterstützung dafür kennt Java aber nicht.

C#, Objective-C und weitere Sprachen haben eine Schlüsselwort für Properties - und im oberen Beispiel ist es genau so ein Property was verwendet wird.

Der Satz sagt nur aus das du im Code den Startwert festlegen kannst intField.value = 13 - Startwert 13.

Wenn das Programm läuft kannst du den vom Benutzereingestellten Wert eben über dieses Property abfragen: doSomethingWith(intField.value); // Methodenaufruf mit Wert des Feldes

Sicher das du noch ne Sprache anfangen willst zu lernen? Meinst nicht du solltest erstmal dein Java-Knowhow verbessern?
 

NiXPhoE

Gesperrter Benutzer
Was ein Property ist, ist mir noch nicht klar.

Bei dem Siehe-Link verstehe ich die Remarks noch nicht.

Ja, genau das Buch von Galileo meine ich.

In Java gibt es properties. In meinem Tool werden die Resourcendateien mit dieser Erweiterung gespeichert. Und warum das getter und setter sein sollen, leuchtet mir nicht ein, davon steht nichts im Code.

Kann ich nicht auch ohne Value den Wert einer Variablen abfragen?

Ja ich will Visual C# lernen. Erstens habe ich mir das Buch vor einem Jahr gekauft und zweitens habe ich vieleicht Ende des Monats einen Job wenn ich die Sprache beherrsche. ;)
 

KSG9|sebastian

Top Contributor
Zurück zu Adam und Eva.

Das was du meinst sind .properties-Dateien. Diese haben überhaupt nix mit Java oder sonst einer Programmiersprache zu tun. Es sind einfach Dateien mit einer Dateiendung. Du kannst das Ding auch .hanswurst nennen und trotzdem funktioniert es.

Die Klasse Properties ist eine Klasse aus dem JDK welche Dateien oder Streams einließt und key=value erwartet. Das hat aber auch nix mit dem Konstrukt "Property" zu tun.

Code:
@property name

Das ist ein Beispiel für ein Property aus Objective-C. Dadurch wird eine Variable name angelegt und zugehörige getter und setter erzeugt. Letztendlich geht es darum keinen boilerplate-Code zu haben.

Deine Frage ergibt soweit auch keinen Sinn. Was du auf einer Variable abfragen kannst hängt von deren Typ ab.

Im Fall von NumberField gibt es in der Klasse eine Variable Value. Und mit field.Value kannst du diese abfragen.

Ende des Monats C# beherrschen..da hast du einer einen sportlichen Plan vor dir. Gefühlt fehlen dir schon die Basics beim Programmieren, siehe deine aktuelle Frage. Ich würde dir vorschlagen nochmal ein paar Kapitel zurückzugehen und exakt zu verstehen was Klassen, Variablen u.s.w. sind. Sofern das Buch anders aufgebaut ist mach ein paar weitere Kapitel und versuche zu verstehen wie genannte Dinge funktionieren.
 

NiXPhoE

Gesperrter Benutzer
Ach so! NumField ist eine Klasse(Objekt) und Value eine Variable. Dann ist es schon klar.
Objekt sagt sich so einfach! Was muss man da denken?
Thanks!
 
Zuletzt bearbeitet:

NiXPhoE

Gesperrter Benutzer
Ok, Object gibt es irgendwie in C#. Ich meine doch ein anderes Buch! Nicht das mit visual Basic, sondern "Einführung in C# 2012" auch von Galileo.
 

Neue Themen


Oben