Laden...
S
stevg
myCSharp.de - Member
7
Themen
34
Beiträge
Letzte Aktivität
vor 19 Jahren
Dabei seit
30.07.2003
Alter
41
Website
Erstellt vor 19 Jahren

Jo, ich glaub.

Erstellt vor 19 Jahren

Wieso 1,1? data ist bei meinem Code ein-dimensonal.

Sagen wir du willst nen 2 Dimensionalen Array erstellen der in der ersten Di. eine größe von 7 und in der 2ten Di. eine größe von 9 hat.
Das könnte man über
double [,] data = new double[7, 9]; machen, dann hast du aber nen echten 2 Dimensionalen Array und kannst die zweite Dimension nicht wie von sadza79 gewünscht getrennt behandeln.
Ich habe jetzt einfach einen ein-dimensionalen Array angelegt, der wiederum aus ein-dimensionalen Arrays besteht:
So würde das dann aussehen:

So kann man auf die Daten genau so gut zugreifen wie auf nen richtigen 2 Dimensionalen Array und man kann die 2te Dimension getrennt behandeln.

Hoffe es jetz etwas klarer, besser kann ich's nicht erklären.

Erstellt vor 19 Jahren

Wie meinst das? Die erste Dimension enthält wiederum ein-dimensionnalen Arrays, die die 2te Dimension bilden.

Erstellt vor 19 Jahren

Original von Programmierhans
Es sei dir verziehen 😁

hehe, danke.

Aber hab noch ne andere, bessere 😉, Lösung:

object[]data=new object[3];
               
//fill TestData
for (int i=0;i<3;i++){
     double[] temp=new double[40];
     data[i]=temp;
     for (int j=0;j<40;j++){
         temp[j]=i*j;
     }
}
double [] dataTmp = data[1] as Double[];
            
foreach(double d in dataTmp){
   	System.Console.WriteLine(d);
}
Erstellt vor 19 Jahren

Jo sry,
hab auch erst gestern mit C# angefangen und dachte dass das in C# wie in Java läuft. Dort ist alles automatisch ein Hierarchicher Array, also ein 2 dimensionaler Array ist dort ein Array aus Arrays, kein wirklicher 2D Array.
bla hin bla her wollte das gleiche machen wie Programmierhans hab nur die Syntax vollkommen falsch angewendet.

Erstellt vor 19 Jahren

OK, danke erstmal.
Muss ich heute abend mal gucken.

Erstellt vor 19 Jahren
double [] dataTmp = data[1]; // für 2te Spalte

Hier würde er auch nichts intern kopieren sondern einfach die Referenz übernehmen.
Aber wenn du jetzt von in dataTmp änder er das sozu sagen in data mit.
Klor?

Erstellt vor 19 Jahren

Hi,
ich möchte ein Programm in den Autostart eintragen und wollte dies über einen Registryeintrag in
software/microsoft/windows/currentversion/run
machen:

string[] regpath = new string[]{"software", "microsoft", "windows", "currentversion", "run"};
			
RegistryKey regkey = Registry.LocalMachine;
foreach(string regname in regpath){
	if((regkey = regkey.OpenSubKey(regname)) == null){
		break;
	}
}
if(regkey == null){
	// throw exception				
}
			
System.Console.WriteLine(regkey);
string[] values = regkey.GetValueNames();
foreach(string val in values){				
	System.Console.WriteLine(val);
}
			
regkey.SetValue("rechner", "%SystemRoot%\\System32\\calc.exe");

Die Ausgabe der vorhanden Einträge sieht noch gut aus, aber beim erstellen des Eintrages 'rechner', wirft er mir:
""Unhandled Exception: System.UnauthorizedAccessException: Cannot write to the registry key.""
Die Meldung ist soweit klar, nur was kann ich da gegen machen?
Evtl. anderen Key benuten?

Erstellt vor 19 Jahren

Aber meine Zeit wird noch kommen :evil:
😉

Erstellt vor 19 Jahren

Original von stevg

Original von KRambo

Wer steigt schon von .NET auf Java um bäh
Troll mal hier nicht rum.

[edit]
Ops, wollte editieren. Jetzt bin ich wohl der Depp.

10 von 34 Beiträgen