Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何创建Google.api.Drive.v2.Data.File的数组?_C#_Arrays_Google Drive Api - Fatal编程技术网

C# 如何创建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

我正在写一个程序,将文件/文件夹结构上传到谷歌硬盘。我想做的一件对我的代码有很大帮助的事情是制作一些文件数组

每次我尝试的时候,我都会得到一个nullReferenceException,所以我去掉了所有与数组相关的内容,它就工作了,所以我知道这是因为我正在尝试创建一个数组

有人知道如何创建Google.api.Drive.v2.Data.File数组吗

代码:

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();
}