QueryOptions Kelas

Definisi

Menentukan parameter kueri pencarian untuk menghitung konten folder penyimpanan.

public ref class QueryOptions sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.Storage.Search.IQueryOptionsFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class QueryOptions final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.Activatable(Windows.Storage.Search.IQueryOptionsFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class QueryOptions final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Storage.Search.IQueryOptionsFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class QueryOptions
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Storage.Search.IQueryOptionsFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class QueryOptions
function QueryOptions(query, fileTypeFilter)
Public NotInheritable Class QueryOptions
Warisan
Object Platform::Object IInspectable QueryOptions
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Contoh

Contoh ini menunjukkan cara menggunakan QueryOptions untuk mengkueri file di lokasi.

// Set query options with filter and sort order for results
List<string> fileTypeFilter = new List<string>();
fileTypeFilter.Add(".jpg");
fileTypeFilter.Add(".png");
fileTypeFilter.Add(".bmp");
fileTypeFilter.Add(".gif");
var queryOptions = new QueryOptions(CommonFileQuery.OrderByName, fileTypeFilter);

// Create query and retrieve files
var query = KnownFolders.PicturesLibrary.CreateFileQueryWithOptions(queryOptions);
IReadOnlyList<StorageFile> fileList = await query.GetFilesAsync();
// Process results
foreach (StorageFile file in fileList)
{
    // Process file
}

Contoh ini menunjukkan cara menggunakan kueri file yang didukung oleh indeks sistem untuk mengambil properti yang mungkin mengandalkan handler properti aplikasi lain (seperti properti dokumen Judul ).

try
{
    // Create index backed file query and get results
    List<string> fileTypeFilter = new List<string>();
    fileTypeFilter.Add(".png");
    QueryOptions queryOptions = new QueryOptions(Windows.Storage.Search.CommonFileQuery.OrderByName, fileTypeFilter);
    queryOptions.IndexerOption = IndexerOption.OnlyUseIndexer;
    StorageFileQueryResult queryResult = Windows.Storage.KnownFolders.PicturesLibrary.CreateFileQueryWithOptions(queryOptions);
    var files = await queryResult.GetFilesAsync();

    // Process resulting files
    if (files.Count == 0)
    {
        // Perform tasks to handle no files found
    }
    else
    {
        // Access properties for each file
        foreach (StorageFile file in files)
        {
            var documentProperties = await file.Properties.GetDocumentPropertiesAsync();
            // Perform tasks with document properties
            String title = documentProperties.Title;
        }
    }
}
// Handle errors with catch blocks
catch (FileNotFoundException)
{
 // For example, handle a file not found error
}

Keterangan

Anda bisa membuat kueri file untuk folder apa pun yang dapat Anda akses dan yang bisa Anda dapatkan sebagai StorageFolder.

Anda dapat menggunakan QueryOptions dan CreateFileQueryWithOptions untuk membuat kueri file yang didukung terindeks yang memungkinkan Anda mendapatkan properti yang mengandalkan handler properti aplikasi lain.

Konstruktor

QueryOptions()

Membuat instans kelas QueryOptions untuk menghitung item penyimpanan, dan menginisialisasinya dengan pengaturan default berikut: QueryOptions.FolderDepth mendapatkan FolderDepth.Shallow dan QueryOptions.IndexerOption mendapatkan IndexerOption.DoNotUseIndexer.

Objek QueryOptions dengan opsi sebelumnya akan menyediakan enumerasi file dan folder demi folder yang dangkal di lokasi. Secara default, folder dijumlahkan sebelum file dan file dan folder dijadikan alfabet berdasarkan nama.

QueryOptions(CommonFileQuery, IIterable<String>)

Membuat instans kelas QueryOptions untuk menghitung file dan menginisialisasinya dengan nilai yang disediakan oleh CommonFileQuery yang ditentukan dan filter jenis file opsional yang menentukan file mana yang akan disertakan dalam hasil kueri.

QueryOptions(CommonFolderQuery)

Membuat instans kelas QueryOptions untuk menghitung subfolder dan menginisialisasinya dengan nilai berdasarkan CommonFolderQuery yang ditentukan.

Properti

ApplicationSearchFilter

Mendapatkan atau mengatur string Advanced Query Syntax (AQS) yang ditentukan aplikasi untuk memfilter file menurut kata kunci atau properti. Properti ini dikombinasikan dengan UserSearchFilter untuk membuat filter pencarian kueri.

DateStackOption

Mendapatkan satuan waktu yang digunakan untuk mengelompokkan file ke dalam folder jika objek QueryOptions dibuat dengan CommonFolderQuery berdasarkan tanggal. Misalnya, jika CommonFolderQuery.GroupByYear digunakan untuk membuat objek QueryOptions , nilai properti ini adalah DateStackOption.Year.

FileTypeFilter

Mendapatkan daftar ekstensi nama file yang digunakan untuk memfilter hasil pencarian. Jika daftar kosong, hasilnya mencakup semua jenis file.

FolderDepth

Menunjukkan apakah kueri pencarian harus menghasilkan tampilan konten folder yang dangkal atau tampilan rekursif mendalam dari semua file dan subfolder.

GroupPropertyName

Mendapatkan nama properti yang digunakan untuk mengelompokkan hasil kueri jika objek QueryOptions dibuat menggunakan CommonFolderQuery. Misalnya, jika CommonFolderQuery.GroupByYear digunakan untuk membuat objek QueryOptions , nilai properti ini adalah System.ItemDate.

IndexerOption

Mendapatkan atau menetapkan nilai yang menentukan apakah indeks sistem atau sistem file digunakan untuk mengambil hasil kueri. Pengindeks dapat mengambil hasil lebih cepat tetapi tidak tersedia di semua lokasi file.

Language

Mendapatkan atau mengatur tag bahasa Internet Engineering Task Force (IETF) (standar BCP47) yang mengidentifikasi bahasa yang terkait dengan kueri. Ini menentukan algoritma khusus bahasa yang digunakan oleh sistem untuk memecah kueri menjadi token pencarian individual.

SortOrder

Mendapatkan daftar struktur SortEntry yang menentukan cara mengurutkan konten (seperti file dan subfolder) dalam hasil kueri. Gunakan daftar ini untuk mengkustomisasi bagaimana hasil kueri diurutkan.

StorageProviderIdFilter

Mendapatkan filter untuk pengidentifikasi penyedia penyimpanan.

UserSearchFilter

Mendapatkan atau mengatur string Advanced Query Syntax (AQS) yang ditentukan pengguna untuk memfilter file menurut kata kunci atau properti. Properti ini dikombinasikan dengan ApplicationSearchFilter untuk membuat filter pencarian kueri.

Metode

LoadFromString(String)

Menginisialisasi instans kelas QueryOptions saat ini dengan parameter pencarian yang ditentukan oleh string yang dibuat oleh metode SaveToString .

SaveToString()

Mengonversi nilai objek QueryOptions menjadi string yang dapat digunakan untuk menginisialisasi nilai objek QueryOptions dengan memanggil LoadFromString.

SetPropertyPrefetch(PropertyPrefetchOptions, IIterable<String>)

Menentukan properti yang harus dimuat sistem terlebih dahulu untuk semua item dalam tataan hasil kueri saat kueri sedang dijalankan (alih-alih mengambilnya berdasarkan kasus per kasus). Jika banyak properti ditentukan, kueri mungkin membutuhkan waktu lebih lama untuk dijalankan, tetapi pengambilan properti berikutnya pada hasil kueri akan lebih cepat.

SetThumbnailPrefetch(ThumbnailMode, UInt32, ThumbnailOptions)

Menentukan jenis dan ukuran gambar mini yang harus segera dimuat sistem saat item diakses (alih-alih mengambilnya berdasarkan kasus per kasus). Ini menggunakan lebih banyak sumber daya tetapi membuat pengambilan gambar mini pada hasil kueri lebih cepat.

Berlaku untuk

Lihat juga