你直接传一个数组进去,而且是一个结构体数组,array.sort怎么知道根据结构中的哪一个属性进行排序?放一个c#的代码你看看,VB和C#很相似的
成都创新互联联系热线:13518219792,为您提供成都网站建设网页设计及定制高端网站建设服务,成都创新互联网页制作领域十多年,包括房屋鉴定等多个方面拥有丰富的营销推广经验,选择成都创新互联,为网站保驾护航!
class Program
{
static void Main(string[] args)
{
People[] p = new People[3]
{
new People{name="张三"},
new People{name="李四"},
new People{name="张二名"}
};
//重点传一个实现了IComparer接口的类进去,告诉Array.Sort怎么排序
Array.Sort(p, new PeopleCompare());
foreach (var item in p)
{
Console.WriteLine(item.name);
}
Console.ReadKey();
}
}
//People结构体,换成类一样的
public struct People
{
public string name { get; set; }
}
//实现了IComparer接口的类
public class PeopleCompare : IComparer
{
public int Compare(object x, object y)
{
People p1 = (People)x ;
People p2 = (People)y;
return p1.name.CompareTo(p2.name);
}
}
1.你说的这个有点问题,是要只输出一次,也可做,
2.但问题是如果你数组还有就看不到了!这个做法有点问题
1.解决方法:
循环前面加入一个变量 dim Temp as Double=0
For i = 0 To 9
If score(i) avg and score(i)temp Then
TextBox3.Text = TextBox3.Text score(i) " "
if score(i)=avg then
temp=score(i)
end if
End If
Next
我写了一段代码,注意你读取的方法,我改进了一下 Imports System.IO ‘代码窗体的最上端一定要声明
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sr As StreamReader Dim TextBox As Control
Dim i As Integer
i = 1
For Each TextBox In Me.Controls
If TypeName(TextBox) = "TextBox" Then sr = New StreamReader("c:\save\" i ".ini", System.Text.Encoding.Default) ’注意选择编码方式,按你原来的方法,未设置编码,显示的是乱码!路径请按你的情况改! TextBox.Text = sr.ReadToEnd()
i += 1 End If
Next
MsgBox("已经载入" i - 1 "个文件") End Sub注意:这样的代码是倒序的,第一个文本框显示的是最后一个文件的内容!请酌情处理!
好象有个StrReverse函数是直接反转字符串的吧..
我平时用的是VB6.但是.NET中应该也是可以用MID的
你注意看FOR 是从len-1到0的..而mid中是不允许出现0的..
你看看MID运行不了时,是不是返回I是0的时间
改成:
For i = Len(sstr) To 1 Step -1
试试了?