QueryOptions Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica i parametri di una query di ricerca per enumerare il contenuto delle cartelle di archiviazione.
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
- Ereditarietà
- Attributi
Requisiti Windows
Famiglia di dispositivi |
Windows 10 (è stato introdotto in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
|
Esempio
In questo esempio viene illustrato come usare QueryOptions per eseguire query sui file in un percorso.
// 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
}
In questo esempio viene illustrato come usare una query di file supportata dall'indice di sistema per recuperare le proprietà che possono basarsi sul gestore di proprietà di un'altra app , ad esempio la proprietà title del documento.
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
}
Commenti
È possibile creare una query di file per qualsiasi cartella a cui si ha accesso e che è possibile ottenere come StorageFolder.
È possibile usare QueryOptions e CreateFileQueryWithOptions per creare una query di file con backup indicizzato che consente di ottenere proprietà basate sul gestore delle proprietà di un'altra app.
Costruttori
QueryOptions() |
Crea un'istanza della classe QueryOptions per enumerare gli elementi di archiviazione e la inizializza con le impostazioni predefinite seguenti: QueryOptions.FolderDepth ottiene FolderDepth.Shallow e QueryOptions.IndexerOption ottiene IndexerOption.DoNotUseIndexer. Un oggetto QueryOptions con le opzioni precedenti fornirà un'enumerazione cartella per cartella superficiale dei file e delle cartelle in un percorso. Per impostazione predefinita, le cartelle vengono enumerate prima dei file e sia i file che le cartelle vengono alfabetizzati in base al nome. |
QueryOptions(CommonFileQuery, IIterable<String>) |
Crea un'istanza della classe QueryOptions per enumerare i file e lo inizializza con i valori forniti dal commonFileQuery specificato e un filtro di tipo di file facoltativo che determina i file da includere nei risultati della query. |
QueryOptions(CommonFolderQuery) |
Crea un'istanza della classe QueryOptions per l'enumerazione delle sottocartelle e la inizializza con valori basati sull'oggetto CommonFolderQuery specificato. |
Proprietà
ApplicationSearchFilter |
Ottiene o imposta una stringa AQS (Advanced Query Syntax) definita dall'applicazione per filtrare i file in base a parole chiave o proprietà. Questa proprietà viene combinata con UserSearchFilter per creare il filtro di ricerca della query. |
DateStackOption |
Ottiene l'unità di tempo utilizzata per raggruppare i file in cartelle se l'oggetto QueryOptions è stato creato con commonFolderQuery in base alla data. Ad esempio, se Viene utilizzato CommonFolderQuery.GroupByYear per creare un oggetto QueryOptions , il valore di questa proprietà è DateStackOption.Year. |
FileTypeFilter |
Ottiene un elenco di estensioni di file utilizzate per filtrare i risultati della ricerca. Se l'elenco è vuoto, i risultati includono tutti i tipi di file. |
FolderDepth |
Indica se la query di ricerca deve produrre una visualizzazione superficiale del contenuto della cartella o una visualizzazione ricorsiva approfondita di tutti i file e delle sottocartelle. |
GroupPropertyName |
Ottiene il nome della proprietà utilizzata per raggruppare i risultati della query se l'oggetto QueryOptions è stato creato utilizzando CommonFolderQuery. Se ad esempio viene utilizzato CommonFolderQuery.GroupByYear per creare un oggetto QueryOptions , il valore di questa proprietà è System.ItemDate. |
IndexerOption |
Ottiene o imposta un valore che specifica se l'indice di sistema o il file system viene utilizzato per recuperare i risultati della query. L'indicizzatore può recuperare i risultati più velocemente, ma non è disponibile in tutti i percorsi dei file. |
Language |
Ottiene o imposta il tag di lingua IETF (Internet Engineering Task Force) (standard BCP47) che identifica il linguaggio associato alla query. Ciò determina l'algoritmo specifico della lingua usato dal sistema per suddividere la query in singoli token di ricerca. |
SortOrder |
Ottiene l'elenco di strutture SortEntry che specificano come ordinare il contenuto , ad esempio file e sottocartelle, nei risultati della query. Usare questo elenco per personalizzare la modalità di ordinamento dei risultati della query. |
StorageProviderIdFilter |
Ottiene il filtro per gli identificatori del provider di archiviazione. |
UserSearchFilter |
Ottiene o imposta una stringa AQS (Advanced Query Syntax) definita dall'utente per filtrare i file in base a parole chiave o proprietà. Questa proprietà viene combinata con ApplicationSearchFilter per creare il filtro di ricerca della query. |
Metodi
LoadFromString(String) |
Inizializza l'istanza corrente della classe QueryOptions con i parametri di ricerca specificati da una stringa creata dal metodo SaveToString . |
SaveToString() |
Converte i valori di un oggetto QueryOptions in una stringa che può essere utilizzata per inizializzare i valori di un oggetto QueryOptions chiamando LoadFromString. |
SetPropertyPrefetch(PropertyPrefetchOptions, IIterable<String>) |
Specifica le proprietà che il sistema deve caricare in anticipo per tutti gli elementi del set di risultati della query durante l'esecuzione della query, anziché recuperarli caso per caso. Se vengono specificate molte proprietà, l'esecuzione della query potrebbe richiedere più tempo, ma il recupero delle proprietà successivo sui risultati della query sarà più veloce. |
SetThumbnailPrefetch(ThumbnailMode, UInt32, ThumbnailOptions) |
Specifica il tipo e le dimensioni delle anteprime che il sistema deve iniziare a caricare immediatamente quando si accede agli elementi , anziché recuperarli caso per caso. Questo usa più risorse, ma rende più veloce il recupero delle anteprime sui risultati della query. |