2011-03-24 17 views
10
/// <summary> 
/// Returns an array of all ArtworkData filtered by User ID 
/// </summary> 
/// <param name="UsersID">User ID to filter on</param> 
/// <returns></returns> 
public static Array[] GetDataRecords(int UsersID) 
{ 
    ArtworkData[] Labels; 
    Labels = new ArtworkData[3]; 

    return Labels[]; 
} 

वापस जाने के लिए मैं एक वाक्य रचना त्रुटि मिलती है, ;return Labels[] के बाद उम्मीद थी।सी # समारोह सरणी

क्या मैं यह सही कर रहा हूं?

उत्तर

14

आप सरणी के बजाय ArtworkData के प्रकार Labels को वापस करने का प्रयास कर रहे हैं, इसलिए इसे विधि हस्ताक्षर में इसके रिटर्न प्रकार के रूप में होना चाहिए। आप इस तरह के रूप में अपने कोड को संशोधित करने की जरूरत है:

public static ArtworkData[] GetDataRecords(int UsersID) 
{ 
    ArtworkData[] Labels; 
    Labels = new ArtworkData[3]; 

    return Labels; 
} 

Array[] वास्तव में, Array की एक सरणी है कि अगर समझ में आता है।

4

return Labels; चाल चलाना चाहिए!

public static ArtworkData[] GetDataRecords(int UsersID) 
{ 
    ArtworkData[] Labels; 
    Labels = new ArtworkData[3]; 

    return Labels; 
} 
5
public static ArtworkData[] GetDataRecords(int UsersID) 
{ 
    ArtworkData[] Labels; 
    Labels = new ArtworkData[3]; 

    return Labels; 
} 

यह काम करना चाहिए।

सरणी बनाने या सरणी तक पहुंचने पर आप केवल ब्रैकेट का उपयोग करते हैं। इसके अलावा, Array[] सरणी की सरणी लौट रहा है। आपको टाइप किए गए सरणी ArtworkData[] को वापस करने की आवश्यकता है।

1

दो परिवर्तन की आवश्यकता withouth चर लौटना चाहिए: 1. बदलें वापसी विधि का सरणी [] से ArtWorkData [] 2. लेबल बदलें [] के लिए वापसी बयान में प्रकार लेबल

0
static void Main() 
    { 
      for (int i=0; i<GetNames().Length; i++) 
       { 
        Console.WriteLine (GetNames()[i]); 
       } 
    } 

    static string[] GetNames() 
    { 
     string[] ret = {"Answer", "by", "Anonymous", "Pakistani"}; 
     return ret; 
    } 
+1

कोड स्वरूपित करें और कुछ स्पष्टीकरण जोड़ें, यह भयानक लग रहा है। – Gnqz

संबंधित मुद्दे