J
jleslie48
This works:
class faPair {
public decimal freq;
public decimal amp;
}//class fapair
///
/// This class will do the comparing. Change the order of
/// left and right to obtain an descending order.
///
class faPairComparer : IComparer {
#region IComparer Members
public int Compare(object x, object y) {
faPair left = (faPair)x;
faPair right = (faPair)y;
return left.freq.CompareTo(right.freq);
} //Compare
#endregion
}//class PairComparer
private faPair get_af_csv_file(string cvsfilename) {
faPair ansfaPair = new faPair();
//...
return ansfaPair;
} //get_af_csv_file
private void folderBrowserDialog1_HelpRequest(object sender,
EventArgs e)
{
ArrayList plotpt_pairs = new ArrayList();
//...
for (int filelooper=0; filelooper < files.Length;
filelooper++) {
plotpt_pairs.Add(
get_af_csv_file(files[filelooper])
);
}//for filelooper
plotpt_pairs.Sort(new faPairComparer() );
} //folderBrowserDialog1_HelpRequest
but I can't get the syntax right if I make plotpt_pairs a List
<faPair> ...
as in:
private void folderBrowserDialog1_HelpRequest(object sender,
EventArgs e)
{
List<faPair> plotpt_pairs = new List<faPair>();
//...
for (int filelooper=0; filelooper < files.Length;
filelooper++) {
plotpt_pairs.Add(
get_af_csv_file(files[filelooper])
);
}//for filelooper
plotpt_pairs.Sort(new faPairComparer() ); //<----
<<<< this syntax is no good.
} //folderBrowserDialog1_HelpRequest
Error 1 The best overloaded method match for
'System.Collections.Generic.List<WindowsFormsApplication01.faPair>.Sort(System.Comparison<WindowsFormsApplication01.faPair>)'
has some invalid arguments C:\jon\visualstudio2010\csharp
\WindowsFormsApplication01\WindowsFormsApplication01\Form1.cs 257 20
WindowsFormsApplication01
Error 2 Argument 1: cannot convert from
'WindowsFormsApplication01.faPairComparer' to
'System.Comparison<WindowsFormsApplication01.faPair>' C:\jon
\visualstudio2010\csharp
\WindowsFormsApplication01\WindowsFormsApplication01\Form1.cs 257 38
WindowsFormsApplication01
any ideas?
Tia,
jleslie48
class faPair {
public decimal freq;
public decimal amp;
}//class fapair
///
/// This class will do the comparing. Change the order of
/// left and right to obtain an descending order.
///
class faPairComparer : IComparer {
#region IComparer Members
public int Compare(object x, object y) {
faPair left = (faPair)x;
faPair right = (faPair)y;
return left.freq.CompareTo(right.freq);
} //Compare
#endregion
}//class PairComparer
private faPair get_af_csv_file(string cvsfilename) {
faPair ansfaPair = new faPair();
//...
return ansfaPair;
} //get_af_csv_file
private void folderBrowserDialog1_HelpRequest(object sender,
EventArgs e)
{
ArrayList plotpt_pairs = new ArrayList();
//...
for (int filelooper=0; filelooper < files.Length;
filelooper++) {
plotpt_pairs.Add(
get_af_csv_file(files[filelooper])
);
}//for filelooper
plotpt_pairs.Sort(new faPairComparer() );
} //folderBrowserDialog1_HelpRequest
but I can't get the syntax right if I make plotpt_pairs a List
<faPair> ...
as in:
private void folderBrowserDialog1_HelpRequest(object sender,
EventArgs e)
{
List<faPair> plotpt_pairs = new List<faPair>();
//...
for (int filelooper=0; filelooper < files.Length;
filelooper++) {
plotpt_pairs.Add(
get_af_csv_file(files[filelooper])
);
}//for filelooper
plotpt_pairs.Sort(new faPairComparer() ); //<----
<<<< this syntax is no good.
} //folderBrowserDialog1_HelpRequest
Error 1 The best overloaded method match for
'System.Collections.Generic.List<WindowsFormsApplication01.faPair>.Sort(System.Comparison<WindowsFormsApplication01.faPair>)'
has some invalid arguments C:\jon\visualstudio2010\csharp
\WindowsFormsApplication01\WindowsFormsApplication01\Form1.cs 257 20
WindowsFormsApplication01
Error 2 Argument 1: cannot convert from
'WindowsFormsApplication01.faPairComparer' to
'System.Comparison<WindowsFormsApplication01.faPair>' C:\jon
\visualstudio2010\csharp
\WindowsFormsApplication01\WindowsFormsApplication01\Form1.cs 257 38
WindowsFormsApplication01
any ideas?
Tia,
jleslie48