标签: structure

正确的属性方法

我在Java上从事一个相当大的项目.我的问题是如何最好地为我的应用程序构建属性集.

方法1:拥有一些可供每个类访问的静态Properties对象.(缺点:那么,如果某些类被从应用程序的上下文中取出,它们将失去它们的一般性;它们还需要显式调用位于不同类中的某个静态对象,并且可能在将来消失;它只是不会感觉对,我错了?)

方法2:让属性由主类实例化并传递给其他应用程序类.(缺点:你最终将指向Properties对象的指针传递给几乎每个类,它似乎变得非常冗余和繁琐;我不喜欢它.)

有什么建议?

java oop structure properties

5
推荐指数
1
解决办法
504
查看次数

Java Swing编程结构:听众应该是几乎所有Swing组件的源吗?

我的问题可以归结为:它是Swing编程中的标准结构,它允许侦听器控制新组件(例如新的JPanel)以进行显示和输入,并使新组件的侦听器控制新组件以进行显示和输入,等等到无穷大?或者Java是否需要恢复到某种统一类,它将所有Swing组件按程序顺序连接在一起?

目前,在我的应用程序中仅使用一个JFrame,在我的侦听器中,我的初始JFrame对象作为参数传递给我的所有JPanel,因此他们的侦听器可以调用removeall()来清除新JPanel的帧.例如,短代码如下

public class MainFrame {
  JFrame jfrm;
  public MainFrame() {
    jfrm = new JFrame("Main Frame");
    JPanel mainPanel = new MainPanel(jfrm);
  }
}

public class MainPanel extends JPanel {
  public MainPanel(final JFrame mainFrame) {
    JButton example = new JButton("Example");
    example.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent le) {
            mainFrame.removeall();
            JPanel 2ndPanel = new 2ndPanel(mainFrame);
            mainFrame.add(2ndPanel);
            mainFrame.validate();
        }
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

这是正确的结构 - 在哪里产生新面板的听众而不是一些统一的类?但是,如果是这样的话,如果有一个级联无限的侦听器,Java的编译器如何获得mainFrame.validate()?我是一个老派程序程序员,试图用Java编写Swing应用程序,我想我可能没有掌握Swing编程的基本概念.期待任何有用的答案,并提前感谢!

java swing listeners structure

5
推荐指数
1
解决办法
1030
查看次数

设置EF应用程序的结构

我正在使用POCO开发原型EF应用程序.主要是作为框架的介绍我想知道在一个漂亮的结构中设置应用程序的好方法.后来我打算将WCF纳入其中.

我所做的是以下内容:

1)我创建了一个edmx文件,但是Code Generation Property设置为None并生成了我的数据库模式,

2)我创建的POCO看起来像:

public class Person
{
    public Person()
    { 
    }

    public Person(string firstName, string lastName)
    {        

        FirstName = firstName;
        LastName = lastName;
    }

    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

3)我创建了一个Context

public class PocoContext : ObjectContext, IPocoContext
{
    private IObjectSet<Person> persons;

    public PocoContext() : base("name=PocoContainer", "PocoContainer")
    {
        ContextOptions.LazyLoadingEnabled = true;
        persons= CreateObjectSet<Person>();
    }

    public IObjectSet<Person> Persons
    {
        get
        {
            return persons; …
Run Code Online (Sandbox Code Playgroud)

.net c# architecture entity-framework structure

5
推荐指数
1
解决办法
170
查看次数

如何解释结构没有定义?

今天我开始研究FUSE开源代码,在那里我找到了这样的几行:

struct fuse_session;
struct fuse_chan;
Run Code Online (Sandbox Code Playgroud)

我不知道如何解释它,据我所知' struct'后跟结构名称,然后是变量名称.在这种情况下,只有一个命名实体后跟struct,所以这个融合会话本身就是结构变量或结构名称.它可能是一些非常基本的东西,但我无法在任何地方找到它.

c open-source structure fuse

5
推荐指数
1
解决办法
2438
查看次数

这个宏到底在做什么?

#define offsetof(type, member)  ((size_t)(&((type *)0)->member))
Run Code Online (Sandbox Code Playgroud)

我不明白(&((type *)0)->member)这究竟是什么告诉我的.....

这里的类型可能是一个结构或其他东西?? ...

更具体地说,这是什么告诉我?

c pointers structure offset

5
推荐指数
2
解决办法
172
查看次数

静态结构和正常结构有什么区别?

我这里有一个代码示例.

struct node { 
        int data;
        struct node *link;
    };
    static struct node *first = NULL;
Run Code Online (Sandbox Code Playgroud)

如果有人能够对我在下面关于静态这个词的使用的问题提出一些看法,那就太棒了.

  1. 关键字static在上面的代码中做了什么?

  2. 普通结构和静态结构有什么区别?

c c++ static structure

5
推荐指数
2
解决办法
3356
查看次数

C:如何管理大型结构?

在C:

我试图使用包含大数组的结构,并在声明它时发生堆栈溢出错误.我猜(正确吗?)我在堆栈中没有足够的内存,因此,我应该使用堆(我不想改变我的堆栈内存大小,因为代码将由其他人使用).有人能告诉我一个简单的方法吗?或者我应该使用除结构之外的其他东西?

我的代码 - definitions.h:

#define a_large_number 100000

struct std_calibrations{
    double E[a_large_number];
};
Run Code Online (Sandbox Code Playgroud)

我的代码 - main.c:

int main(int argc, char *argv[])
{
    /* ...
    */

    // Stack overflows here:
    struct std_calibrations calibration;

    /* ...
    */

    return (0);
} 
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

c heap structure

5
推荐指数
1
解决办法
109
查看次数

如何在c#.net中将结构转换为Byte数组,但仅在运行时定义结构大小

我有一个像下面这样的结构

[StructLayout(LayoutKind.Sequential)]
public struct MyStructType
{
[MarshalAs(UnmanagedType.U1)]
public byte stx;

public UInt16 cmdId;

public UInt16 status;

public UInt16 pktNo;

[MarshalAs(UnmanagedType.U1)]
public byte contPkt;

[MarshalAs(UnmanagedType.U1)]
public byte dataoffset;

public UInt16 dataLength;

[MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 6)]
public byte[] data;

public UInt16 checkSum;

[MarshalAs(UnmanagedType.U1)]
public byte cr;
}
Run Code Online (Sandbox Code Playgroud)

我试图通过使用下面的代码将此结构转换为字节数组.

byte[] ConvertStructureToByteArray(MyStructType str)
    {
        int size = Marshal.SizeOf(str);
        byte[] arr = new byte[size];

        IntPtr ptr = Marshal.AllocHGlobal(size);
        Marshal.StructureToPtr(str, ptr, true);
        Marshal.Copy(ptr, arr, 0, size);
        Marshal.FreeHGlobal(ptr);
        return arr;
    }
Run Code Online (Sandbox Code Playgroud)

但我得到了以下错误,因为他们不知道的大小

类型'MyStructType'不能作为非托管结构封送; 不能计算有意义的大小或偏移量.

因为这个问题

public UInt16 …
Run Code Online (Sandbox Code Playgroud)

c# arrays byte structure marshalling

5
推荐指数
1
解决办法
453
查看次数

当我使用结构作为参数时strcmp()出错

我的程序需要以下功能:

注意:我没有包含数字1,2和4的代码,因为我已经完成了它们.第三个是我的问题.

  1. 只要用户仍然希望,程序就应该持续允许来自用户的输入.(动态地)
  2. 获得学生的最终成绩(平均frst_grade,scnd_grade,fnl_grade)
  3. 获得每所大学的学生人数.
  4. 输入s_id获取学生姓名.

我的问题是如何将搜索输入与s_college中的用户输入进行比较以获得学生数量.我知道的唯一方法是使用strcmp(),但它给了我这个错误:从'char'到'const char*'的无效转换[-fpermissive]

那么如何比较这两者以获得每所大学的学生人数呢?

#include<stdio.h>    
#include<string.h>    
#include<conio.h>    

int i,n,sum,search,num=0,ctr=0;

char answer,choice,choice2,search2;

struct record{

int s_id;
char s_name[100];
char s_course;
char s_college[5];
int s_scoress;
}id[100],name[100],course,college[100],scores;

struct s_scores{
int frst_grade;
int scnd_grade;
int fnl_grade;
}first,second,final;



void ADD();
void COLLEGE();
void ID();


void COLLEGE(){
printf("Enter college (abbreviation only)");
scanf("%s",&search2);
for(i=0;i<num;i++){
if(strcmp(college[i].s_college,search2)==0);
ctr++;    
}  
printf("The number of students in %s is %d",search2,ctr);
Run Code Online (Sandbox Code Playgroud)

c string structure strcmp

5
推荐指数
3
解决办法
660
查看次数

假设我们有结构填充,int的大小为4,double的大小为8字节,下面这段代码中结构的大小是多少

任何人都可以告诉我,下面显示的结构的大小是24而不是20.

typedef struct
{
    double d;  // this would be 8 bytes
    char c;   // This should be 4 bytes considering 3 bytes padding
    int a;   // This would be 4 bytes
    float b; // This would be 4 bytes
} abc_t;

main()
{
    abc_t temp;
    printf("The size of struct is %d\n",sizeof(temp));
}
Run Code Online (Sandbox Code Playgroud)

我的假设是当我们考虑填充时结构的大小将是20但是当我运行此代码时,大小打印为24.

c structure padding

5
推荐指数
1
解决办法
73
查看次数