Autor Beitrag
coolace
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141



BeitragVerfasst: Di 08.11.11 20:17 
Hy,

ich habe folgendes Problem und komm trotz googele und ein paar brauchbare Treffer nicht
dahinter wie ich folgendes Löse.

2 dimensionales Array
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
     
string[,] bilderarryzuordung;

public Bildauswahl(string name, string[,] bildernamenarry, string Pfadangabe)
{          
   //jede Menge Code aber nur der Teil ist relevant
            bilderarryzuordung = bildernamenarry;                                 


//Hier ist mein Problem, ich reagiert auf ein event
private void comboBox1_TextChanged(object sender, EventArgs e)
 {
            var bildquery = from abfrage in bilderarryzuordung where abfrage = p1.Image.ToString() select abfrage;
            bilderarryzuordung[Convert.ToInt32(), 0] = namenauswahl[Convert.ToInt32(comboBox1.Items), 0];
 }

Ich bekomme immer in dem unteren Teil das Problem das der Compiler sagt:
Fehler 2 Es konnte keine Implementierung des Abfragemusters für den Quelltyp "string[*,*]" gefunden werden. "Where" wurde nicht gefunden. Möglicherweise fehlt ein Verweis auf "System.Core.dll" oder eine Using-Direktive für "System.Linq". C:\Dokumente und Einstellungen\Administrator\Desktop\Dateienumbennen\Dateienumbennen\Bildauswahl.cs 105 45 Dateienumbennen

Wie durchsucht man also ein mehrdimensionaliges Array um die Position festzustellen ?

Gruß

Erlborland

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 08.11.11 20:56 
Direkt jedenfalls gar nicht. Überlege dir mal, wie man eine Methode
ausblenden C#-Quelltext
1:
static IEnumerable<T> Flatten<T>(T[,] a)					

implementieren könnte.

_________________
>λ=
coolace Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141



BeitragVerfasst: Di 08.11.11 22:31 
Danke schon mal für den Typ, er kann meine Liste nicht durchsuchen
weil Sie nicht IEnumerable ist.

Aber ich glaub ich steh auf dem Schlauch aber mir fällt gerade keine passende
Möglichkeit an diese zu implementieren, das funzt irgendwie nicht

ausblenden C#-Quelltext
1:
2:
 IEnumerable<string[,]> bildquery = bilderarryzuordung[,]
         from abfrage in bilderarryzuordung where abfrage = p1.Image.ToString() select abfrage;


Gruß

coolace

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 08.11.11 22:53 
user profile iconcoolace hat folgendes geschrieben Zum zitierten Posting springen:
Aber ich glaub ich steh auf dem Schlauch
Besimmt sogar! 130 Postings und markierst Deinen Quelltext immer noch nicht als C#-Quelltext :mrgreen:

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 09.11.11 10:56 
Hallo coolace,

folgender Code compiliert zumindestens:
ausblenden C#-Quelltext
1:
2:
3:
string[,] bilderarrayzuordnung = new string[23] { { "x""y""z" }, { "a""b""x" } };
var bildquery = from string abfrage in bilderarrayzuordnung where abfrage == "x" select abfrage;
var list = bildquery.ToList();

Beachte die explizite Angabe des Datentyps 'string' in der from-Klausel.

Jedoch scheint m.E. diese Linq-Abfrage bei dir sowieso der falsche Ansatz zu sein, denn du möchtest ja anscheinend den Eintrag in dem Array dann ersetzen (d.h. du benötigst den Index - bisher kriegst du aber einfach nur eine Liste der Strings zurück).
Ligatur
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Do 10.11.11 00:40 
Hallo,

Vergleiche mal
ausblenden C#-Quelltext
1:
where abfrage = p1.Image.ToString()					

mit
ausblenden C#-Quelltext
1:
where abfrage == "x"					

Fällt was auf?
pdelvo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 55
Erhaltene Danke: 11



BeitragVerfasst: Do 10.11.11 01:00 
So ein Zufall. Vor etwa 20mins gebraucht
ausblenden C#-Quelltext
1:
2:
3:
4:
Zieltyp[,] = ...;

from x in arr.Cast<Zieltyp>()
where IsAnswer(42)...
coolace Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141



BeitragVerfasst: Do 10.11.11 22:01 
Hallo,

sorry für die späte Rückantwort, war ein bissel Krank geworden.

@Christian S: Vielen Dank für den Hinweis, ich werde mich natürlich
an die BoardRegeln halten und das ganze mit code und /code entsprechend
markieren.

@Rest: Vielen Dank, es stimmt er kompiliert.
Ich hoffe nun, über die List die Position herauszubekommen.

Was ich noch nicht ganz kapiert habe ist das hier ?
ausblenden C#-Quelltext
1:
static IEnumerable<T> Flatten<T>(T[,] a)					


Gruß

Coolace

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
pdelvo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 55
Erhaltene Danke: 11



BeitragVerfasst: Do 10.11.11 22:29 
Er meinte damit, das du dir eine Methode überlegen solltest, die aus einem zweidimensionalen Array eine Enumeration (zB eine liste) macht. Das macht in meinem Fall die eingebaute Cast<T>() Methode. Vieleicht übelegst du dir das mal rotzdem. Schaden kanns ja nicht^^
coolace Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141



BeitragVerfasst: Fr 11.11.11 20:38 
ah, ok. dann habe ich es verstanden.
Ich danke allen beteiligten für Ihre kompetente Hilfe.

Gruß

Coolace