C# File.Dispose的代码示例

通过代码示例来学习C# File.Dispose方法

通过代码示例来学习编程是非常高效的。
1. 代码示例提供了一个具体而直观的学习环境,使初学者能够立即看到编程概念和语法的实际应用。
2. 通过分析和模仿现有的代码实例,初学者可以更好地理解编程逻辑和算法的工作原理。
3. 代码实例往往涵盖了多种编程技巧和最佳实践,通过学习和模仿这些实例,学习者可以逐步掌握如何编写高效、可读性强和可维护的代码。这对于初学者来说,是一种快速提升编程水平的有效途径。


File.Dispose是C#的System.IO命名空间下中的一个方法, 小编为大家找了一些网络大拿们常见的代码示例,源码中的File.Dispose() 已经帮大家高亮显示了,大家可以重点学习File.Dispose() 方法的写法,从而快速掌握该方法的应用。

File.Dispose的代码示例1 - Dispose()

    using System.IO;

        /// >
        public void Dispose()
        {
            if (this.lockFilePath == null)
            {
                return;
            }

            if (this.lockFileStream == null)
            {
                throw new ObjectDisposedException(nameof(IndexLock));
            }

            this.lockFileStream.Dispose();
            this.lockFileStream = null;

            File.Delete(this.lockFilePath);
            this.lockFilePath = null;
        }
    

开发者ID:microsoft,项目名称:VFSForGit,代码行数:21,代码来源:IndexLock.cs

在Dispose()方法中,File的代码示例类中的Dispose的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

File.Dispose的代码示例2 - SaveFromModel()

    using System.IO;

        public void SaveFromModel(List Meshes, List Materials, string FileName, List Textures, STSkeleton skeleton = null, List NodeArray = null)
        {
            ExtractedTextures.Clear();

            Scene scene = new Scene();
            scene.RootNode = new Node("RootNode");

            progressBar = new STProgressBar();
            progressBar.Task = "Exporting Skeleton...";
            progressBar.Value = 0;
            progressBar.StartPosition = FormStartPosition.CenterScreen;
            progressBar.Show();
            progressBar.Refresh();

            SaveSkeleton(skeleton, scene.RootNode);
            SaveMaterials(scene, Materials, FileName, Textures);

            progressBar.Task = "Exporting Meshes...";
            progressBar.Value = 50;

            SaveMeshes(scene, Meshes, skeleton, FileName, NodeArray);

            progressBar.Task = "Saving File...";
            progressBar.Value = 80;

            SaveScene(FileName, scene, Meshes);

            progressBar.Value = 100;
            progressBar.Close();
            progressBar.Dispose();
        }
    

开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:33,代码来源:AssimpSaver.cs

在SaveFromModel()方法中,File的代码示例类中的Dispose的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

File.Dispose的代码示例3 - GenerateTex2()

    using System.IO;

        private byte[] GenerateTex2()
        {
            STProgressBar progressBar = new STProgressBar();
            progressBar.Task = "Generating Tex2...";
            progressBar.Value = 0;
            progressBar.StartPosition = FormStartPosition.CenterScreen;
            progressBar.Show();
            progressBar.Refresh();

            var mem = new MemoryStream();

            var resFileU = BFRESRender.ResFileNode.resFileU;

            //Create a tex2 file
            ResU.ResFile resFileTex2 = new ResU.ResFile();
            resFileTex2.Alignment = resFileU.Alignment;
            resFileTex2.Name = resFileU.Name.Replace("Tex1", "Tex2");
            resFileTex2.VersionMajor = resFileU.VersionMajor;
            resFileTex2.VersionMajor2 = resFileU.VersionMajor2;
            resFileTex2.VersionMinor = resFileU.VersionMinor;
            resFileTex2.VersionMinor2 = resFileU.VersionMinor2;
            resFileTex2.Textures = resFileU.Textures;

            int curTex = 0;
            foreach (var group in Nodes)
            {
                if (group is BFRESGroupNode)
                {
                    if (((BFRESGroupNode)group).Type != BRESGroupType.Textures)
                        continue;

                    foreach (FTEX tex in ((BFRESGroupNode)group).Nodes)
                    {
                        Console.WriteLine("tex " + tex.Text + (resFileTex2.Textures.ContainsKey(tex.Text))) ;

                        if (resFileTex2.Textures.ContainsKey(tex.Text))
                        {
                            Console.WriteLine("NoMips " + tex.texture.MipData == null || tex.texture.MipData.Length <= 0);

                            if (tex.texture.MipData == null || tex.texture.MipData.Length <= 0)
                            {
                                progressBar.Task = $"Generating Mipmaps for {tex.Text}";
                                progressBar.Value = ((curTex * 100) / resFileTex2.Textures.Count);
                                progressBar.Refresh();

                                FTEX.GenerateMipmaps(tex.texture.MipCount, tex.Format, tex.GetBitmap(), resFileTex2.Textures[tex.Text]);
                            }
                            else
                            {
                                resFileTex2.Textures[tex.Text].MipData = tex.texture.MipData;
                                resFileTex2.Textures[tex.Text].MipOffsets = tex.texture.MipOffsets;
                                resFileTex2.Textures[tex.Text].MipCount = tex.texture.MipCount;
                                resFileTex2.Textures[tex.Text].Swizzle = tex.Tex2Swizzle;
                            }

                            curTex++;
                        }
                    }
                }
            }

            progressBar.Task = $"Saving File";
            progressBar.Value = 90;

            resFileTex2.Save(mem);

            progressBar.Value = 100;
            progressBar.Close();
            progressBar.Dispose();

            return mem.ToArray();
        }
    

开发者ID:KillzXGaming,项目名称:Switch-Toolbox,代码行数:74,代码来源:BFRES.cs

在GenerateTex2()方法中,File的代码示例类中的Dispose的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

File.Dispose的代码示例4 - ReplayGainTest()

    
		[Test]
		public void ReplayGainTest ()
		{
			string inFile = TestPath.Samples + "sample_replaygain.flac";
			string tempFile = TestPath.Samples + "tmpwrite_sample_replaygain.flac";

			var rgFile = File.Create (inFile);
			Assert.AreEqual (1.8d, rgFile.Tag.ReplayGainTrackGain);
			Assert.AreEqual (0.462341d, rgFile.Tag.ReplayGainTrackPeak);
			Assert.AreEqual (2.8d, rgFile.Tag.ReplayGainAlbumGain);
			Assert.AreEqual (0.562341d, rgFile.Tag.ReplayGainAlbumPeak);
			rgFile.Dispose ();

			System.IO.File.Copy (inFile, tempFile, true);

			rgFile = File.Create (tempFile);
			rgFile.Tag.ReplayGainTrackGain = -1;
			rgFile.Tag.ReplayGainTrackPeak = 1;
			rgFile.Tag.ReplayGainAlbumGain = 2;
			rgFile.Tag.ReplayGainAlbumPeak = 0;
			rgFile.Save ();
			rgFile.Dispose ();

			rgFile = File.Create (tempFile);
			Assert.AreEqual (-1d, rgFile.Tag.ReplayGainTrackGain);
			Assert.AreEqual (1d, rgFile.Tag.ReplayGainTrackPeak);
			Assert.AreEqual (2d, rgFile.Tag.ReplayGainAlbumGain);
			Assert.AreEqual (0d, rgFile.Tag.ReplayGainAlbumPeak);
			rgFile.Tag.ReplayGainTrackGain = double.NaN;
			rgFile.Tag.ReplayGainTrackPeak = double.NaN;
			rgFile.Tag.ReplayGainAlbumGain = double.NaN;
			rgFile.Tag.ReplayGainAlbumPeak = double.NaN;
			rgFile.Save ();
			rgFile.Dispose ();

			rgFile = File.Create (tempFile);
			Assert.AreEqual (double.NaN, rgFile.Tag.ReplayGainTrackGain);
			Assert.AreEqual (double.NaN, rgFile.Tag.ReplayGainTrackPeak);
			Assert.AreEqual (double.NaN, rgFile.Tag.ReplayGainAlbumGain);
			Assert.AreEqual (double.NaN, rgFile.Tag.ReplayGainAlbumPeak);
			rgFile.Dispose ();

			System.IO.File.Delete (tempFile);
		}
    

开发者ID:mono,项目名称:taglib-sharp,代码行数:45,代码来源:FlacFormatTest.cs

在ReplayGainTest()方法中,File的代码示例类中的Dispose的代码示例方法一共出现了4次, 见黄色背景高亮显示的地方,欢迎大家点赞

File.Dispose的代码示例5 - ReplayGainTest()

    
		[Test]
		public void ReplayGainTest ()
		{
			string inFile = TestPath.Samples + "sample_replaygain.mp3";
			string tempFile = TestPath.Samples + "tmpwrite_sample_replaygain.mp3";

			var rgFile = File.Create (inFile);
			Assert.AreEqual (2.22d, rgFile.Tag.ReplayGainTrackGain);
			Assert.AreEqual (0.418785d, rgFile.Tag.ReplayGainTrackPeak);
			Assert.AreEqual (2.32d, rgFile.Tag.ReplayGainAlbumGain);
			Assert.AreEqual (0.518785d, rgFile.Tag.ReplayGainAlbumPeak);
			rgFile.Dispose ();

			System.IO.File.Copy (inFile, tempFile, true);

			rgFile = File.Create (tempFile);
			rgFile.Tag.ReplayGainTrackGain = -1;
			rgFile.Tag.ReplayGainTrackPeak = 1;
			rgFile.Tag.ReplayGainAlbumGain = 2;
			rgFile.Tag.ReplayGainAlbumPeak = 0;
			rgFile.Save ();
			rgFile.Dispose ();

			rgFile = File.Create (tempFile);
			Assert.AreEqual (-1d, rgFile.Tag.ReplayGainTrackGain);
			Assert.AreEqual (1d, rgFile.Tag.ReplayGainTrackPeak);
			Assert.AreEqual (2d, rgFile.Tag.ReplayGainAlbumGain);
			Assert.AreEqual (0d, rgFile.Tag.ReplayGainAlbumPeak);
			rgFile.Tag.ReplayGainTrackGain = double.NaN;
			rgFile.Tag.ReplayGainTrackPeak = double.NaN;
			rgFile.Tag.ReplayGainAlbumGain = double.NaN;
			rgFile.Tag.ReplayGainAlbumPeak = double.NaN;
			rgFile.Save ();
			rgFile.Dispose ();

			rgFile = File.Create (tempFile);
			Assert.AreEqual (double.NaN, rgFile.Tag.ReplayGainTrackGain);
			Assert.AreEqual (double.NaN, rgFile.Tag.ReplayGainTrackPeak);
			Assert.AreEqual (double.NaN, rgFile.Tag.ReplayGainAlbumGain);
			Assert.AreEqual (double.NaN, rgFile.Tag.ReplayGainAlbumPeak);
			rgFile.Dispose ();

			System.IO.File.Delete (tempFile);
		}
    

开发者ID:mono,项目名称:taglib-sharp,代码行数:45,代码来源:Id3V24FormatTest.cs

在ReplayGainTest()方法中,File的代码示例类中的Dispose的代码示例方法一共出现了4次, 见黄色背景高亮显示的地方,欢迎大家点赞

File.Dispose的代码示例6 - MultiGenresTest()

    
		[Test]
		public void MultiGenresTest ()
		{
			string inFile = TestPath.Samples + "sample.mp3";
			string tempFile = TestPath.Samples + "tmpwrite.mp3";

			var rgFile = File.Create (inFile);
			var tag = rgFile.Tag;
			var genres = tag.Genres;

			Assert.AreEqual (3, genres.Length);
			Assert.AreEqual ("Genre 1", genres[0]);
			Assert.AreEqual ("Genre 2", genres[1]);
			Assert.AreEqual ("Genre 3", genres[2]);

			rgFile.Dispose ();
			System.IO.File.Delete (tempFile);
		}
    

开发者ID:mono,项目名称:taglib-sharp,代码行数:19,代码来源:Id3V2FormatTest.cs

在MultiGenresTest()方法中,File的代码示例类中的Dispose的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

File.Dispose的代码示例7 - ModifyBootGlobalRegistry()

    using System.IO;

        internal static bool ModifyBootGlobalRegistry(string systemHivePath)
        {
            try
            {
                using RegistryHive hive = new(
                File.Open(
                    systemHivePath,
                    FileMode.Open,
                    FileAccess.ReadWrite
                ), DiscUtils.Streams.Ownership.Dispose);
                hive.Root.OpenSubKey("ControlSet001")?.CreateSubKey("CI").SetValue("UMCIDisabled", 1, RegistryValueType.Dword);
                hive.Root.OpenSubKey(@"ControlSet001\Control\CI")?.SetValue("UMCIAuditMode", 1, RegistryValueType.Dword);
            }
            catch
            {
                return false;
            }
            return true;
        }
    

开发者ID:gus33000,项目名称:UUPMediaCreator,代码行数:21,代码来源:PreinstallationEnvironmentRegistryService.cs

在ModifyBootGlobalRegistry()方法中,File的代码示例类中的Dispose的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

File.Dispose的代码示例8 - CreateVirtualDisk()

    using System.IO;
        /// 
        /// Creates a temporary vhd of the given size in GB.
        /// The created VHD is dynamically allocated and is of type VHD (legacy)
        /// 
        /// The size of the VHD in GB
        /// The path to the created vhd
        internal static string CreateVirtualDisk(TempManager tempManager, long sizeInGB = 10)
        {
            long diskSize = sizeInGB * 1024 * 1024 * 1024;
            string tempVhd = tempManager.GetTempPath();

            using Stream vhdStream = File.Create(tempVhd);
            using Disk disk = Disk.InitializeDynamic(vhdStream, DiscUtils.Streams.Ownership.Dispose, diskSize);

            BiosPartitionTable table = BiosPartitionTable.Initialize(disk, WellKnownPartitionType.WindowsNtfs);
            PartitionInfo ntfsPartition = table.Partitions[0];
            _ = NtfsFileSystem.Format(ntfsPartition.Open(), "Windows UUP Medium", Geometry.FromCapacity(diskSize), ntfsPartition.FirstSector, ntfsPartition.SectorCount);

            return tempVhd;
        }
    

开发者ID:gus33000,项目名称:UUPMediaCreator,代码行数:21,代码来源:VHDUtilities.cs

在CreateVirtualDisk()方法中,File的代码示例类中的Dispose的代码示例方法一共出现了1次, 见黄色背景高亮显示的地方,欢迎大家点赞

本文中的File.Dispose方法示例由csref.cn整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。