我是C#的新手,所以这可能是一个基本问题。我需要做的是在类库中放置一个如下所示的数组,然后调用它。所以我希望通过类和这个数组出现适当的图片。我知道有一种更简单的方法可以显示某些图片,但这是项目的要求。它是C#中的asp.NET网站。
string[] PictureArray;
PictureArray = new string[3];
PictureArray[0] = "~/pics/grl.jpg";
PictureArray[1] = "~/pics/pop.jpg";
PictureArray[2] = "~/pics/str.jpg";
PictureArray[3] = "~/pics/unk.jpg";
编辑(也在评论中):
我正试图从数组中获取图片,以便在按下单击按钮时显示在图像框中:
protected void Button1_Click(object sender, EventArgs e) {
Class1 name = new Class1();
this.Image1.ImageUrl = name.GetPic();
}
显然只是name.GetPic()不会做任何事情,它实际上是在抛出一个错误。
EDIT2:对不起,我只是意识到我可以编辑和评论。我已经在课堂上正确设置了阵列,现在我需要访问它(阅读上面的编辑)。
回答
string[] pictures = work.GetPictures();
Image1.ImageUrl = pictures[0];
是我需要看到的一切,谢谢Zyphrax
答案 0 :(得分:1)
我添加了评论,以帮助您了解正在发生的事情。
您的类库中的一个类:
// Define a class called HomeWork, make it accessible to other
// classes in other namespaces
public class HomeWork {
// Define a method called GetPictures, no incoming arguments,
// returns a string[]
public string[] GetPictures() {
// Create a new instance of a string array
string[] pictures = new string[4];
// Fill the string array with a couple of strings
pictures[0] = "~/pics/grl.jpg";
pictures[1] = "~/pics/pop.jpg";
pictures[2] = "~/pics/str.jpg";
pictures[3] = "~/pics/unk.jpg";
// Return the string array
return pictures;
}
}
如何在该课程上调用该方法:
// Create a new instance of the HomeWork class
HomeWork work = new HomeWork();
// Call the GetPictures method
work.GetPictures();
请让您的老师更详细地解释一下 我们无法在一个SO问题中教你多年的编程经验:)
编辑:回答您的第二个问题
选项1:使用GetPictures返回的数组:
HomeWork work = new HomeWork();
string[] pictures = work.GetPictures();
Image1.ImageUrl = pictures[0];
Image2.ImageUrl = pictures[1];
Image3.ImageUrl = pictures[2];
// etc..
选项2:为接受索引的GetPictures创建重载
public string[] GetPictures() {
// This method remains unchanged
}
public string[] GetPictures(int index) {
// Get the string array from GetPictures
string[] pictures = GetPictures();
// Return a specific index
return pictures[index];
// As you can see, this method might be
// dangerous to use, because someone could
// ask for an invalid index causing an
// IndexOutOfRangeException
}
HomeWork work = new HomeWork();
Image1.ImageUrl = work.GetPictures(0);
Image2.ImageUrl = work.GetPictures(1);
Image3.ImageUrl = work.GetPictures(2);
上面的示例用于说明C#的工作原理 在业务应用程序中以这种方式使用它是低效的。
答案 1 :(得分:0)
我只能通过回答添加到此。
public class Class1
{
public string ArrayMethod (string ArrayMethod)
{
string[] PictureArray;
PictureArray = new string[3];
PictureArray[0] = "~/pics/grl.jpg";
PictureArray[1] = "~/pics/pop.jpg";
PictureArray[2] = "~/pics/str.jpg";
PictureArray[3] = "~/pics/unk.jpg";
}
}
这就是我尝试将数组放入类中的方法。当它构建时,我得到错误“并非所有代码路径都返回一个值”。首先,你可以帮助我实现这一目标。是的,这是针对学校的,据我所知,这就是你如何学习编程,如果它是教师没有涵盖的东西。我不是要你写我的代码,我只是坚持下去。