C# 如何创建Google.api.Drive.v2.Data.File的数组?
我正在写一个程序,将文件/文件夹结构上传到谷歌硬盘。我想做的一件对我的代码有很大帮助的事情是制作一些文件数组 每次我尝试的时候,我都会得到一个nullReferenceException,所以我去掉了所有与数组相关的内容,它就工作了,所以我知道这是因为我正在尝试创建一个数组 有人知道如何创建Google.api.Drive.v2.Data.File数组吗 代码:C# 如何创建Google.api.Drive.v2.Data.File的数组?,c#,arrays,google-drive-api,C#,Arrays,Google Drive Api,我正在写一个程序,将文件/文件夹结构上传到谷歌硬盘。我想做的一件对我的代码有很大帮助的事情是制作一些文件数组 每次我尝试的时候,我都会得到一个nullReferenceException,所以我去掉了所有与数组相关的内容,它就工作了,所以我知道这是因为我正在尝试创建一个数组 有人知道如何创建Google.api.Drive.v2.Data.File数组吗 代码: Google.api.Drive.v2.Data.File bigFolder=new Google.api.Drive.v2.Dat
Google.api.Drive.v2.Data.File bigFolder=new Google.api.Drive.v2.Data.File();
文件夹下的Google.api.Drive.v2.Data.File[]=new Google.api.Drive.v2.Data.File[4];
对于(int i=0;i<4;i++)
{
bigFolder.Title=“Folder Title”;//用于在此处获取NullReferenceException,但随后使其不是数组
bigFolder.Description=“文件夹”;
bigFolder.MimeType=“application/vnd.google apps.folder”;
bigFolder.Parents=new List(){new ParentReference(){Id=biggerFolder.Id};
bigFolder=service.Files.Insert(bigFolder.Execute();
underFolder[i].Title=nom[i];//现在在此处获取NullReferenceException,因为它是一个数组
在文件夹[i]下,Description=“其他文件夹”;
在文件夹[i].MimeType=“application/vnd.google apps.folder”下;
在文件夹[i]下,Parents=new List(){new ParentReference(){Id=bigFolder.Id};
underFolder[i]=service.Files.Insert(underFolder[i]).Execute();
}
非常感谢并需要任何帮助
谢谢 您的问题只是,
NullReferenceException
。在尝试分配非值类型的数组元素之前,应确保初始化该值。示例:在分配文件夹[i].Title=nom[i]下的之前代码>只需初始化Google.api.Drive.v2.Data.File
为了完成回答,这应该是有效的:
此外,我不会在每次执行循环时分配bigFolder
变量。您可以使用对象初始值设定项,而不是直接指定每个文件的每个属性
Google.Apis.Drive.v2.Data.File bigFolder = new Google.Apis.Drive.v2.Data.File
{
Title = "Folder Title",
Description = "The folder",
MimeType = "application/vnd.google-apps.folder",
Parents = new List<ParentReference>() {new ParentReference() {Id = biggerFolder.Id}}
};
bigFolder = service.Files.Insert(bigFolder).Execute();
Google.Apis.Drive.v2.Data.File[] underFolder = new Google.Apis.Drive.v2.Data.File[4];
for (int i = 0; i < 4; i++)
{
underFolder[i] = new Google.Apis.Drive.v2.Data.File
{
Title = nom[i],
Description = "The other folder",
MimeType = "application/vnd.google-apps.folder",
Parents = new List<ParentReference>() {new ParentReference() {Id = bigFolder.Id}}
};
underFolder[i] = service.Files.Insert(underFolder[i]).Execute();
}
Google.api.Drive.v2.Data.File bigFolder=new Google.api.Drive.v2.Data.File
{
Title=“文件夹标题”,
Description=“文件夹”,
MimeType=“application/vnd.google apps.folder”,
Parents=new List(){new ParentReference(){Id=biggerFolder.Id}}
};
bigFolder=service.Files.Insert(bigFolder.Execute();
文件夹下的Google.api.Drive.v2.Data.File[]=new Google.api.Drive.v2.Data.File[4];
对于(int i=0;i<4;i++)
{
underFolder[i]=新的Google.api.Drive.v2.Data.File
{
标题=名称[i],
Description=“其他文件夹”,
MimeType=“application/vnd.google apps.folder”,
Parents=new List(){new ParentReference(){Id=bigFolder.Id}}
};
underFolder[i]=service.Files.Insert(underFolder[i]).Execute();
}
非常感谢!我已经通过使用列表解决了这个问题,但这也应该有效!是的,我通常使用列表,因为它们更灵活。
Google.Apis.Drive.v2.Data.File bigFolder = new Google.Apis.Drive.v2.Data.File
{
Title = "Folder Title",
Description = "The folder",
MimeType = "application/vnd.google-apps.folder",
Parents = new List<ParentReference>() {new ParentReference() {Id = biggerFolder.Id}}
};
bigFolder = service.Files.Insert(bigFolder).Execute();
Google.Apis.Drive.v2.Data.File[] underFolder = new Google.Apis.Drive.v2.Data.File[4];
for (int i = 0; i < 4; i++)
{
underFolder[i] = new Google.Apis.Drive.v2.Data.File
{
Title = nom[i],
Description = "The other folder",
MimeType = "application/vnd.google-apps.folder",
Parents = new List<ParentReference>() {new ParentReference() {Id = bigFolder.Id}}
};
underFolder[i] = service.Files.Insert(underFolder[i]).Execute();
}