各位好,小弟想问大家一个问题,就是C#函数可不可以返回一个数组类型,如
public string[] StorageInfo CanLogin(string T_UserName, string T_UserPassword)
{}
通过该函数返回一个数组,不知道可不可以,请知道的告诉我,谢谢!
public string[] StorageInfo CanLogin(string T_UserName, string T_UserPassword)
{}
通过该函数返回一个数组,不知道可不可以,请知道的告诉我,谢谢!
任何object都可以作为返回值类型的
{
return new string[] { T_UserName, T_UserPassword };
}private void button1_Click(object sender, EventArgs e)
{
Text = string.Join(",", StorageInfo("Zswang", "路过"));
}
{ } 因为是引用类型,所以在方法体执行完操作后放到该参数(数组)的值就会被带回,这样值就被返回出去的了
-----------
这句话是谁告诉你的?那请问out参数是干什么用的?
public void CanLogin(string username, string password, ref string[] str) {} 或者out才是正确的但是如果把string[] 改为object则可以直接传递
public void CanLogin(string username, string passwrod, object[] objs) {}
public void CanLogin(string username, string passwrod, object[] objs) {}
--------------
如果方法体内重置了该数组你猜结果是什么?
{
a[1] = "abc";
}
static public void s(int[] b)//重载方法S
{
b[1] = 111;
}
static void Main(string[] args)
{
string[] str = new string[] { "aaa","bbb"};
int[] t = new int[] {123,456 };
Console.WriteLine(str[1]);//bbb
Console.WriteLine(t[1].ToString());//456
s(str);//数组名实质就是指针常量
s(t);
Console.WriteLine(str[1]);//abc
Console.WriteLine(t[1].ToString());//111
Console.ReadLine();
}
static public string[] s()
{
string[] str = new string[] { "aaa", "bbb" };
return str;
} static void Main(string[] args)
{
string[] ss =s();//把返回的值赋给ss
foreach(string tt in ss)
Console.WriteLine(tt);//依次显示数组元素里的值
Console.ReadLine();
}
这个就是读取图片二进制流,传数组...using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
byte[] temp1 = getImage("d://1.jpg");
byte[] temp2 = getImage("d://2.jpg");
bool isEqual = true;
//判断图片是否相等
if (temp1.Length == temp2.Length)
{
for (int i = 0; i < temp1.Length; i++)
{
if (temp1[i] != temp2[i])
{
isEqual = false;
}
}
}
else
{
isEqual = false;
}
if (isEqual)
{
Response.Write("<script>alert('两图片相等')</script>");
}
else
{
Response.Write("<script>alert('两图片不相等')</script>");
}
}
/// <summary>
/// 按图片路径把图片打成二进制流
/// </summary>
/// <param name="path">图片路径</param>
/// <returns></returns>
public byte[] getImage(string path)
{
FileStream fs = File.OpenRead(path);
MemoryStream ms = new MemoryStream();
int bdata;
while ((bdata = fs.ReadByte()) != -1)
{
ms.WriteByte(((byte)bdata));
}
byte[] data = (byte[])ms.ToArray();
fs.Close();
ms.Close();
fs = null;
ms = null;
return data;
}
}
{
str = new string[] {"aaa", "bbb"};
return str;
}是重置数组...经常会用到的...
{
str = new string[] {"aaa", "bbb"};
return str;
}
static public void s(string[] str)
{
str = new string[] {"aaa", "bbb"};
}
// 设置DataGrid列标题和宽度-----------------
public DataGridTextBoxColumn[] SetGridStyle(string[] CNames, string[] Titles, int[] cWidth)
{
int n = CNames.Length; DataGridTextBoxColumn[] cols = new DataGridTextBoxColumn[n];
for (int i = 0; i < n; i++)
{
cols[i].MappingName = CNames[i];
cols[i].HeaderText = Titles[i];
cols[i].Width = cWidth[i];
MessageBox.Show(n.ToString());
// dts.GridColumnStyles.Add(cols[i]);
} return cols;
}